2

这些给了我不同的日期

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

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

4

2 回答 2

4

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

public static DateTime Today {
  get {
    DateTime now = DateTime.Now;
    return now.Date;
  }
}
于 2013-01-29T06:37:51.603 回答
1

因为 ToUniversalTime()。

来自MSDN

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

于 2013-01-29T06:41:02.617 回答