0

これはかなり単純なはずですが、タイムゾーンに関しては私は最悪です。次のように生成されたイベントの Web サービスから値を取得しています。

  • トルコ東部: 2012-05-04T19:36:30.5+00:00
  • ギリシャ南部: 2012-05-04T19:33:32.6+00:00
  • ポーランド: 2012-05-04T19:09:36.3+00:00

上記の値は UTC の日時を表していますか? (私は東トルコから始めましたが、それは UTC/GMT からの +2:00 オフセットであり、混乱しています)。

私の正確な問題は、上記の日付時刻を WP7 デバイスのローカル タイム ゾーンに変換する必要があることです。そのため、以下のコードは正しいアプローチですか?

//Convert first To UTC Date Time
DateTime convertedDate = DateTime.SpecifyKind( DateTime.Parse(elementTimeValue.Value),
                                DateTimeKind.Utc);

//Now to local time
convertedDate.ToLocalTime(); << Will this return me with time adjusted to that of operating device (WP7)

それが私がこれらのそれぞれについて得ているものです(デバイスがパキスタンにある間)、

  • 2012 年 5 月 4 日 19:36:30 < トルコ東部
  • 2012/5/4 12:33:32 PM < ギリシャ南部
  • 2012/5/4 12:9:36 PM < ポーランド

これらは正しいですか?いいえの場合、何をする必要がありますか?

4

3 に答える 3

0

タイムゾーンが指定されているため、UTC時間ではありません00:00。UTC時間の例は次のようになります2012-11-05T13:15:30ZZ最後ではありません)。詳細については、こちらをご覧ください。

于 2012-05-05T10:51:49.603 に答える
0

UTC はタイムゾーンに依存しません。日付と時刻のスタンプがあるだけです。次に、このタイム スタンプを関連するタイム ゾーンに変換します。たとえば、それをトルコ東部時間に変換するには、オペレーティング システムの日付ライブラリを使用して、タイム スタンプに 2 時間を追加する必要があります。

UTC タイム ゾーンは、オフセットの「Z」で終わります。あなたが投稿したものは、グリニッジ標準時 (+00:00) のものです。これはオフセットがゼロであるという点で UTC に似ていますが、技術的には同じではありません。

編集: 次の Web サイトは、タイム ゾーンの変換/日付の計算が正しいかどうかを確認するのに非常に役立ちます (タイム ゾーン計算機をチェックしてください): http://www.timeanddate.com/

あなたの問題については、TimeZone.CurrentTimeZoneを使用してユーザーのコンピューター/モバイルからタイムゾーンを取得して、変換しようとしているものを知る必要があります。TimeZoneInfo.ConvertTime() を使用して変換できると思います。

于 2012-05-05T10:56:58.060 に答える
0

ローカル タイムゾーンに移動する場合、DateTimeOffset の Parseを使用してからLocalDateTime プロパティにアクセスする(DateTime のみが必要な場合) か、ToLocalTimeで変換するのが最も簡単な方法です。

これは、文字列の1つを使用した例です

C:\Users\James » [datetimeoffset]::parse('2012-05-04T19:36:30.5+00:00').tostring()
5/4/2012 7:36:30 PM +00:00
C:\Users\James » [datetimeoffset]::parse('2012-05-04T19:36:30.5+00:00').tolocaltime().tostring()
5/4/2012 3:36:30 PM -04:00
C:\Users\James »
于 2012-05-06T05:23:41.607 に答える