为什么DateTime.AddHours似乎不起作用?

我有相同的结果1338161400

    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)时:

    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/rich/utccalc.htm的

1338168600

更新:

谢谢我更改为

    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

回答:

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

采用:

DateTime newDate = date.AddHours(-4);

以上是 为什么DateTime.AddHours似乎不起作用? 的全部内容, 来源链接: utcz.com/qa/413630.html

回到顶部