あなたのタイムゾーンは本当に UTC + 3:30で、夏時間がないのですか?その場合は、適切なオフセット(3.5時間)を使用してDateTimeOffset
を作成することができます。たとえば:
あなたの代わりに
DateTime
の
DateTimeOffset
を与えるもちろん
DateTimeOffset dtOffset = new DateTimeOffset(DateTime.UtcNow,
TimeSpan.FromHours(3.5));
...あなたはそれを使用することができますか?
よりよい解決策がTimeZoneInfo
を使用することです - たとえば、あなたが正しいタイムゾーンを取得し、
DateTime local = TimeZoneInfo.ConvertTimeFromUtc(utcDateTime, tzInfo);
を呼び出す...またはあなたがTimeZoneInfo
を使用するが、それでもDateTimeOffset
を得ることができる可能性:
DateTimeOffset dto = TimeZoneInfo.ConvertTime(DateTimeOffset.UtcNow, tzInfo);
個人的には、DateTime
の意味が多少あいまいで正しく動作するのが難しい場合はできるだけDateTimeOffset
を使用することをおすすめします。
.NETの日付と時刻の処理は、残念ながらちょっと混乱しています。私はNoda Timeというプロジェクトを持っていますが、これは完了しても状況を改善するはずですが、現時点では生産準備ができていません。
を使用してタイムゾーンのリストを取得することができます任意のタイムゾーン
にUTCに変換させますght節約時間が発生する? – Axarydax
私は昼間の保存について混乱していることは考えていませんか? – kamiar3001
なぜあなたはそのタイムゾーンを使用しようとしているのか分かりませんので、言い表せません。 UTC + 3:30の特別な点は? –