私たちのアプリケーションは、javascript (jQuery) に大きく依存しています。そのため、「application/json」リクエストがたくさんあります。
しばらくの間、日付に苦労していましたが、努力にもかかわらず、ASP.NET MVC アプリケーションで日付を処理する方法を理解できませんでした。
ここで私たちが欲しいもの:
- サーバー側で DateTime オブジェクトをシリアライズ/デシリアライズします (DateTimeKind.Utc を使用することをお勧めします)。
- クライアント側で Date オブジェクトを操作します。UTC で作業します。何らかの形で日付をフォーマットします。
ここに問題があります:
日付クライアント オブジェクトは、常にエンド ユーザーのタイムゾーンです。
JSON.stringify(new Date())
自動でシフトします。JSON Stringify は UTC のために日時を変更します
この質問は少しヘルパーですが、サーバーに送信する前に日付をシフトすることを忘れないでください。
new Date('2012-10-19T10:23:47.778Z')
JSON が日付を認識しないことはわかっていますが、日付を解析する JSON.parse の類似物があると便利です。Newton Json.net を使用して日付をシリアル化/逆シリアル化しますが、DateTimeKind.Unspecified で実行します
質問:
サーバーとクライアントの両方で日付を操作するエレガントな方法はありますか? アプリケーション全体の横断的なものとして必要です。
更新:
もっと明確に言う必要がありました。このアプリケーションでは、日付のみを操作するため、クライアントのタイム ゾーンを考慮する必要はありません。
したがって、サーバーが2012-10-19T10:23:47.778Z'
を返す場合、Date オブジェクトが必要です。
Fri Oct 19 2012 10:23:47 GMT+0300 (Kaliningrad Standard Time)
いいえ
Fri Oct 19 2012 13:23:47 GMT+0300 (Kaliningrad Standard Time)
(日付がずれています)