为什么 DateTime.AddHours 似乎不起作用? [英] Why DateTime.AddHours doesn't seem to work?

查看:28
本文介绍了为什么 DateTime.AddHours 似乎不起作用?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我这样做时,我得到了相同的结果 1338161400

I have same result 1338161400 when I do

    DateTime origin = new DateTime(1970, 1, 1, 0, 0, 0, 0);
    DateTime date = DateTime.Parse(@"28/05/12 01:30");
    TimeSpan diff = date.ToUniversalTime() - origin;
    Console.WriteLine( (Math.Floor(diff.TotalSeconds)).ToString());

以及当我使用 date.AddHours(-4) 时:

as well as when I use date.AddHours(-4) :

    DateTime origin = new DateTime(1970, 1, 1, 0, 0, 0, 0);
    DateTime date = DateTime.Parse(@"28/05/12 01:30");
    date.AddHours(-4);
    TimeSpan diff = date.ToUniversalTime() - origin;
    Console.WriteLine( (Math.Floor(diff.TotalSeconds)).ToString());

我尝试像 http://www.mbari.org/staff/一样获得 1338168600丰富/utccalc.htm

更新:

谢谢我改成

    DateTime origin = new DateTime(1970, 1, 1, 0, 0, 0, 0);
    DateTime date = DateTime.Parse(@"28/05/2012 01:30");
    date = date.AddHours(-4);
    date = date.ToUniversalTime();
    TimeSpan diff = date - origin;
    Console.WriteLine((Math.Floor(diff.TotalSeconds)).ToString());  

但是我得到了 1338147000 仍然不是 1338168600

But I got 1338147000 still not 1338168600

推荐答案

日期是不可变对象,即它们在创建后无法修改.DateTime.AddHours 返回一个新的 DateTime 实例,该实例向后移动 4 小时,但不会修改日期".

Dates are immutable objects, i.e. they cannot be modified after creation. DateTime.AddHours returns a new DateTime instance which is shifted backwards by 4 hours but "date" will not be modified.

使用:

DateTime newDate = date.AddHours(-4);

这篇关于为什么 DateTime.AddHours 似乎不起作用?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆