0

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で、すべてのコードで使用しました。サーバー時間を変換して現地時間のように表示するのを手伝ってくれる人はいますか?

4

1 に答える 1

2

問題は、サイトが配置されているサーバーの時間とタイムゾーンを使用していることです。問題の解決策は、サーバーの日時を(権限がある場合は)ローカルマシンと同じようにローカル時間に変更することです。

コードを使用したソリューションが必要な場合は、タイムゾーンを使用してUTC時刻を特定のタイムゾーン時刻に変換する必要があります。このリンクはあなたを助けます:http://msdn.microsoft.com/en-us/library/bb397769.aspx

于 2013-03-25T09:59:05.067 に答える