1

予約をスケジュールするシステムがあり、英国に拠点を置いています。プロジェクト マネージャーは、英国のスタッフとオーストラリアのスタッフの予定をスケジュールするために使用します。

PM は、たとえば月曜日の午前 9 時に予定を立てますが、それは場所とは関係ありません。つまり、英国のスタッフがそれを見ると英国時間の午前 9 時と読み、オーストラリアのスタッフが読むとオーストラリア時間の午前 9 時と読みます。

これらの予約を表示し、それらを選択できるようにする Outlook プラグインを作成しました。問題は、プラグインがオーストラリアで実行されると、datetime が英国から発信され、時差が追加されることです。その結果、オーストラリアのスタッフは、すべきでないときに予定を相殺しています。

Infragistics スケジュール コントロールを使用していますが、午前 9 時の予定がすべての場所で午前 9 時として表示され、オフセットが適用されないようにするための最善の方法は何でしょうか?

ありがとう、ドラミー

4

1 に答える 1

1

私にとって最善の方法は、コードのどこでも常に UTC 日時を使用することです。show の場合のみ、適切なタイムゾーンに切り替える (または切り替えない) ことができます。

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

ロケール/UTC は、DateTimeKind 列挙型 ( http://msdn.microsoft.com/en-us/library/shx7s921.aspx )を使用して定義されます。

UTC で DateTime を取得するには、常に DateTime.ToUniversalTime() を使用します ( http://msdn.microsoft.com/en-us/library/system.datetime.touniversaltime.aspx ) 。

(もちろん ToLocalTime() も存在します)。

すべてが期待どおりに見えることを確認するために、いくつかのテストを行う必要があります。

于 2012-08-13T14:08:04.103 に答える