DateTime.Today vs DateTime.Now

时间:2013-01-29 06:32:22

标签: c# string datetime casting

这些给我不同的日期

DateTime.Now.ToUniversalTime().ToString(@"yyyy-MM-dd");
DateTime.Today.ToUniversalTime().ToString(@"yyyy-MM-dd");

为什么呢?我假设它与日期时间的“时间部分”有关,可能设置为0-0-0。

2 个答案:

答案 0 :(得分:4)

DateTime.Today属性实际返回DateTime.Now.Date:它的时间段看起来像00:00.00000DateTime.Now时间段看起来像10:09.00000。因此,当您转换为ToUniversalTime时,它将取决于当前时间。

public static DateTime Today {
  get {
    DateTime now = DateTime.Now;
    return now.Date;
  }
}

答案 1 :(得分:1)

由于ToUniversalTime()。

来自MSDN

  

协调世界时(UTC)等于本地时间减去UTC偏移。有关UTC偏移的更多信息,请参阅TimeZone.GetUtcOffset。转换还会考虑适用于当前DateTime对象所代表的时间的夏令时规则。