3

当社は英国に拠点を置き、一連の Web サービスを Azure にデプロイしています。これらの 1 つは 5 分ごとに自動的に更新され、「最終更新時刻: hh:mm:ss」というメッセージが表示されます。表示される時刻は現地時間より 1 時間遅れているため、これは夏時間を考慮していないようです。UTC を使用していると思われます。設定してみました

<globalization uiCulture="en" culture="en-GB"/> 

web.configで、プログラム的に成功しませんでした。DST オフセットを決定し、「DateTime.Now()」のすべてのインスタンスに適用するよりも、正しい現地時間を表示する簡単な解決策はありますか?

助けてくれてありがとう。

4

4 に答える 4

2

@viperguynaz は正しいです。Azure はすべて UTC で実行されます。Azure で実行している場合は、UTC で実行し続ける必要があり、それを回避しようとしないでください。代わりに、ソフトウェア開発者として、アプリケーションに機能を追加して、タイム ゾーンを尊重し、UTC として保存されたデータとサービスを処理する必要があります。決して使用しないでDateTime.Now、代わりに常に使用してDateTime.UtcNowください。

詳細については、この質問を参照してください。

于 2013-04-17T20:14:46.587 に答える
1

はい - Azure は UTC 時間で実行されます。既知のタイム ゾーンで現地時間を取得する方法については、 DateTime.ToLocalTime メソッドTimeZoneInfo.ConvertTime メソッドを参照してください。

于 2013-04-17T16:10:36.713 に答える
0

同様の英国固有の状況があり、タイムゾーンユーティリティtzutilを使用して、単一行の「昇格された単純な」スタートアップタスク内でタイムゾーンを設定するだけです。

tzutil /s "GMT Standard Time"

これに関する問題は発生しておらず、タイムスタンプは常に期待どおりです。これは、コード内のすべての DateTime インタラクションがローカル時間/タイムゾーン対応になるようにするよりも簡単に思えます。

このユーティリティは、Windows Server 2008 R2 以降のイメージにのみ含まれていると思います。

于 2013-04-20T10:34:39.623 に答える