3

web.configに次のようなグローバリゼーション設定があります。

<globalization culture="de-DE" uiCulture="de-DE" />

そして平均的なaspxページで私はsthを出力します。お気に入り:

var a = DateTime.UtcNow.ToLocalTime().ToString();
var b = DateTime.UtcNow.ToString();
var c = DateTime.Now.ToLocalTime().ToString();
var d = TimeZone.CurrentTimeZone.ToLocalTime(DateTime.UtcNow).ToString();

結果:ローカル時間とUTC時間が異なると予想される場合、a、b、c、dの値はすべて同じです(例:01.01.2001 17:00:00)。

ここで何が欠けているのか、UTC日付から正しい現地時間を取得するにはどうすればよいですか。他のトピックをすでに確認しましたが、機能しませんでした。

4

3 に答える 3

6

Microsoft Azureは、データセンターの場所に関係なく、UTC時刻が現地時間になるように設定されています。ユーザーのブラウザにローカルな時間に変換する場合は、プログラムで変換する必要があります。

Azureはグローバルサービスであるため、実際には現地時間自体はなく、すべてのグローバルデータセンターで一貫性を保つために、標準時間を使用するのが理にかなっています。

詳細については、をご覧ください。

http://michaelcollier.wordpress.com/2010/05/22/hey-azure-what-time-is-it/

于 2011-04-25T18:45:56.810 に答える
2

@Johnが指摘したように、クライアントでそれを行う必要があります。Webアプリケーションの場合は、次の方法でUTCを現地時間に変換できます:http://blogs.msdn.com/b/marcelolr/archive/2008/06/04/javascript-date-utc-and-local-times。 aspx

于 2011-04-26T14:58:21.620 に答える
0

これは私が私のために働くことを見つけたものです:

   TimeZoneInfo de = TimeZoneInfo.FindSystemTimeZoneById("W. Europe Standard Time");
   var localTime = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, de);

そして、それは西ヨーロッパ標準時ですが、それでも夏時間を考慮に入れています。(私はそれをGMT / BSTで非常にうまく機能させています)

ToLocalTimeが変換時にCultureUI/Cultureグローバリゼーション設定を考慮に入れることを望んでいましたが、そうではないようです。

于 2019-09-11T14:24:22.693 に答える