UTCの時刻を変換するとどうなりますか?ToUniversalTime?UTCの日付時刻ToUniversalTimeを変換するとどうなりますか?
DateTime localDate = DateTime.Now.AddMinute(offsetTimeZone);
DateTime todayStart = localDate.Date.ToUniversalTime().AddHours(00).AddMinutes(00);
UTCの時刻を変換するとどうなりますか?ToUniversalTime?UTCの日付時刻ToUniversalTimeを変換するとどうなりますか?
DateTime localDate = DateTime.Now.AddMinute(offsetTimeZone);
DateTime todayStart = localDate.Date.ToUniversalTime().AddHours(00).AddMinutes(00);
ToUniversalTimeを使用して変換すると、-lot-が発生します。 DSTは、現地時間、アドレス指定されているなどなど
ただ、参照元へ行き、コードを読んで:stackoverflowの上に同じ質問がすでに http://referencesource.microsoft.com/#mscorlib/system/datetime.cs,fddce8be2da82dfc
があります。
ここでは、DateTimeオブジェクトにアタッチされている暗黙的なタイムゾーンはありません。 ToUniversalTime()を実行すると、コードが実行されているコンテキストのタイムゾーンが使用されます。
例えば、私は1970年1月1日からDateTimeを作成すると、世界のどこにいてもDateTimeオブジェクト。
グリニッジでコードを実行しているときにToUniversalTime()を実行すると、同じ時刻になります。私がバンクーバーに住んでいる間にそれを行うと、-8時間のオフセットDateTimeオブジェクトが得られます。
これは、あらゆる種類の日付変換やローカリゼーションを行う必要がある場合に、データベースに時間関連の情報を格納することが重要な理由です。あなたのコードベースが別のタイムゾーンのサーバ施設に移動された場合を考えてください)
あなたは質問と完全な回答hereを見つけることができます。
デフォルトでは、DateTimeオブジェクトはDateTimeKind.Localと入力されます。日付を解析してDateTimeKind.Utcとして設定すると、ToUniversalTime()は変換を実行しません。 ToUniversalTime()を実行すると、コードが実行されているコンテキストのタイムゾーンが使用されます。
自分でデバッグできませんか?また、ドキュメントが役立つかもしれません... – Alex