1

Windows Mobile ベースのデバイスで時刻 (UTC ではありません!!) を読み取るために Compact Framework で提供される API は何ですか?

次のコードを使用して、デバイスの時刻を UTC で取得できました。

DateTime dt = DateLib.Now;            
SystemTime sysTime = new SystemTime();
Windows.SystemTime.GetSystemTime(out sysTime);
Windows.SystemTime.ConvertTimeStructure(ref sysTime, out dt);
Windows.SystemTime.SetSystemTime(dt);

しかし、デバイスのタイムゾーンに従って時間が必要です。ありがとう

4

2 に答える 2

1

DateTime.Now組み込みのサポートされているプロパティを単に使用しないのはなぜですか?

編集

Compact Frameworkは load でタイムゾーン情報をキャッシュするため、アプリが読み込まれた後にタイム ゾーンを変更するための呼び出しは、DateTime.Now への呼び出しに反映されません。

現在、あなたは P/Invoking であると想定していますがGetSystemTime、代わりに P/Invoking である必要がありますGetLocalTime

于 2011-07-28T21:54:36.437 に答える
1

DateTime.UtcNow を使用して UTC 時刻を取得できます。現在の utc オフセット TimeZone を取得します

TimeSpan を取得するには、GetUtcOffset を使用します。

http://msdn.microsoft.com/en-us/library/system.timezone.getutcoffset.aspx

次に、 LocalTime = DateTime.UtcNow + TimeZone.GetUtcOffset を取得できます

于 2011-07-28T22:45:08.710 に答える