これらは私に異なる日付を与えます
DateTime.Now.ToUniversalTime().ToString(@"yyyy-MM-dd");
DateTime.Today.ToUniversalTime().ToString(@"yyyy-MM-dd");
なんで?おそらく0-0-0に設定されている、日時の「時間部分」と関係があると思います。
この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;
}
}
ToUniversalTime()のため。
MSDNから
協定世界時(UTC)は、現地時間からUTCオフセットを引いたものに等しくなります。UTCオフセットの詳細については、TimeZone.GetUtcOffsetを参照してください。変換では、現在のDateTimeオブジェクトによって表される時間に適用される夏時間ルールも考慮されます。