JSONで日付を処理する方法の問題は、ASP.NET AJAX Webサービスとページメソッドを直接呼び出すときに発生する可能性のある面倒な問題の1つです。 言語の他のすべてのデータ型とは異なり、JavaScriptは日付を表すための宣言的方法を提供しません。そのため、JSON内に埋め込むにはちょっとしたフットワークが必要です。ASP.NET AJAXによって返されたJSON日付をどのように処理するのですか?
問題がJSONの日付と正確に何かを説明しようとします。
問題が何ですか。
基本的な問題は、JavaScriptが宣言的にDateオブジェクトを表現する方法を提供しないことです。以前は、これはDateリテラルの(欠けている)ものとして説明されていたかもしれません。 リテラルとは何ですか?説明するために、これらは、いくつかの他のデータ型のリテラルです:残念ながら
// String
'foo';
// Number
3.14;
// Boolean
true;
// Array
[1, 2, 3, 5, 7];
// Object
{ pi: 3.14, phi: 1.62 };
、それが日付になると、リテラルの欠如が1を作成するための唯一の方法は、明示的にDateオブジェクトを初期化することであることを意味します
// Correct.
new Date('4/26/09');
// Correct (the month is 0 indexed, hence the 3).
new Date(2009, 3, 26);
// Incorrect. This is a string, not a Date.
'4/26/09';
クライアント側のJavaScriptコードを記述する際にこの制限はありますが、JSONオブジェクト内で日付を送信する良い方法はありません。 日付リテラルの欠如が問題です。誰かが解決策を提案できますか?
あなたは、UNIXタイムスタンプ、長い整数として日付を保存して送信することができます。ほとんどの言語とプラットフォームは、UNIXのタイムスタンプを解釈して変換できます。 –