0

グローバルに使用されるmvc4アプリケーションを作成しています。アプリケーションの一部は、トランザクションが追加または変更されたときを記録しています。

そのため、トランザクションの日時をUTCとして保存しています。クライアントサイドから、彼らが期待しているように日付を表​​示するための私の最良の方法は何ですか?

これは私が使用すべきjavascript関数ですか、それともビュー内で何かを実行する必要がありますか?

4

2 に答える 2

0

それはあなたの好みによります。サーバー側にユーザ​​ーのタイムゾーンがあり、データベースに保存されている場合、最も簡単な方法は を使用することDateTimeOffsetです。

例: c# fx 3.5 で特定のタイム ゾーンで DateTime を作成します。

または、JavaScript getTimezoneOffset() Methodを使用し、Cookie を設定してサーバーで読み取ります。また、特にクライアント テンプレートを使用する場合は、多くのクライアント ライブラリを使用できます。

于 2012-09-16T11:14:36.713 に答える
0

内部的には、JavaScript の日付オブジェクトは、エポック UTC (1970-01-01T00:00:00Z) からのミリ秒数として時刻を保存します。時間を転送する最も簡単な方法は、その番号を使用することです。

// 2012-09-16T10:30:00.000Z
var ms = 1347791400000;

// Create a new date object using UTC milliseconds
var d = new Date(ms);

alert(d); // Shows local time equivalent, e.g. 2012-09-16T20:30:00GMT+1000

または、UTC タイムスタンプを渡し、それをコンポーネントに分割し、Date.UTCを使用して日付オブジェクトに変換することもできます。月は 0 から始まるため、カレンダーの月数から 1 を引く必要があることに注意してください。

現地時間の UTC ミリ秒値を取得するには、Date.prototype.getTimeを使用します。上記の例では:

alert(d.getTime()); // 1347791400000
于 2012-09-16T12:23:00.213 に答える