MVC4 C#アプリケーションで、サーバー時間を現地時間に変換してみました。ローカルでは機能しますが、サイト展開時には機能しません。テストのために、デプロイされたサイトでいくつかのコード結果を確認しました。彼らです:
25.03.2013 04:39:31 - DateTime.Now
25.03.2013 09:39:31 - DateTime.UtcNow
25.03.2013 04:39:31 - DateTime.UtcNow.ToLocalTime()
25.03.2013 09:39:31 - SpecifyKind(DateTime.UtcNow, DateTimeKind.Local)
25.03.2013 04:39:31 - TimeZoneInfo.ConvertTimeFromUtc(DateTime.SpecifyKind(DateTime.UtcNow, DateTimeKind.Utc), TimeZoneInfo.Local)
25.03.2013 04:39:31 - TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime.UtcNow, TimeZoneInfo.Local.Id)
25.03.2013 04:39:31 - TimeZoneInfo.ConvertTime(DateTime.UtcNow, TimeZoneInfo.Local)
25.03.2013 04:39:31 - TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, TimeZoneInfo.Local)
25.03.2013 09:39:31 - TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, TimeZoneInfo.Utc)
Utc - DateTime.UtcNow.Kind
同時に私のコンピュータの時間は次のとおりです。
25.03.2013 13:39:31;
グローバリゼーション次第だと思いました。設定ファイルで、次のバリアントを個別に試しました。
<globalization uiCulture="en-US"/>,
<globalization culture="az" uiCulture="az" />,
<globalization culture="auto" uiCulture="auto" />,
<globalization culture="az-Latn-AZ" uiCulture="az-Latn-AZ" />,
<globalization culture="en-US" uiCulture="en-US"/>
しかし、何も変わりませんでした。私のローカルタイムゾーンは(UTC + 04:00)BakuDateTime.UtcNow
で、すべてのコードで使用しました。サーバー時間を変換して現地時間のように表示するのを手伝ってくれる人はいますか?