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 に答える