0

タイム ゾーン オフセットの特定の値 (たとえば、常に +01:00) で出力する必要がある .NET プログラムに DateTime があります。出力にはタイムゾーン付きの完全な日時が含まれている必要があります。システムのタイムゾーン設定とは無関係である必要があります。どうすればこれを達成できますか?

例: 12-03-2016T12:30:34+03:00 などのタイムスタンプがあり、事前定義された TZ +1: 12-03-2016T10:30:34+01:00 に対して計算して出力する必要があります。

4

1 に答える 1

0

それへのいくつかのアプローチを見つけました。

まず、DateTime にはタイム ゾーンが格納されていません。代わりに、それが UTC であるかローカルであるかのフラグがあります (ローカル TZ シフトが何であるかはわかりません)。したがって、最初に、UTC の任意の文字列タイム スタンプから時間の最初の解析を取得する必要があります。

DateTime オブジェクト (Kind=UTC) に格納されたら、出力したいタイムゾーンに変換する必要があります。ここでの例が便利だと思います: datetime to string with time zone

注: ロンドンの夏時間を変換する必要がある場合は、NET のタイムゾーンの正しい名前を知っている必要があります。.NET での UTC と GMT 標準時の違いを参照してください。

于 2016-09-09T09:42:08.223 に答える