7

特にAsp.net MVC4 c#を使用してWebアプリケーションを設計する際に、一度使用すると

  private DateTime currentDateTime = DateTime.Now;

私のコードのどこかに、 currentDateTime をデータベースに保存します。次に、アプリケーションを Web にデプロイします。

currentDateTime の値はどうなりますか?

a. アプリケーションを開いたブラウザ/コンピュータの DateTime (タイムゾーンの問題)

b. アプリケーションをデプロイしたサーバーの DateTime (すべての値は 1 つのタイムゾーンの下にあります)

申し訳ありませんが、私はWebアプリケーションを始めたばかりなので、これは私を混乱させます. あなたが私にそれを明確にしてくれることを願っています. ありがとう。

4

5 に答える 5

8

値はサーバーのローカル時間になります。

ただし、協定世界時 (UTC) を使用することを強くお勧めします。たとえば、DateTime.UtcNow日時についての推論がはるかに簡単になり、世界中のどこにいても悪影響を与えることなくアプリケーションをホストできるようになります。

于 2012-12-26T15:26:26.780 に答える
7

ASP.Net コードはサーバー上で実行されているため、サーバー時間になります。

于 2012-12-26T15:24:47.803 に答える
5

正解は次のとおりです。

b. コードが実行されている場所であるため、アプリケーションをデプロイしたサーバーの DateTime。

常に UTC 時間を取得する別のDateTimeプロパティがあります。 アプリケーションとデータベースの両方でこれを使用することをお勧めします (たとえば、getutcdate() ins sql サーバー)。これにより、あらゆる種類の同期性の問題が回避されます。DateTime.UtcNow

クライアントに日付を表​​示する必要がある場合は、保存された時間をクライアントのタイム ゾーンでオフセットするだけで十分です。

于 2012-12-26T15:25:09.003 に答える
5

コードが実行されている場所であるため、サーバー上の時間になります。

DateTime.UtcNow代わりに使用することをお勧めします。これにより、タイム ゾーンの問題が軽減されます。時刻を表示または評価するときに、クライアントまたはサーバーでローカル時刻に簡単に変換できます。

于 2012-12-26T15:26:12.850 に答える
2

サーバー上の時間になります。

于 2012-12-26T15:25:02.163 に答える