19

JSON テキスト ( RFC 4627 ) には、オブジェクト、配列、文​​字列、数値、ブール値 (文字通りtrueor false) およびnull. ただし、アプリケーションで非常に一般的な日付や時刻などの時間情報を表すものは何も定義されていません。RFC 4627で定められた制約と文法を考慮して、JSON で時間を表すために現在使用されている方法は何ですか?

回答者への注意: この質問の目的は、流通していることが知られているさまざまな方法を、例と相対的な長所と短所 (理想的には現場での経験から) とともに文書化することです。

4

5 に答える 5

13

私が実際に使用している唯一の表現は (確かに、私の経験はDOJOに限定されています) ISO 8601です。

例については、上記のリンクにアクセスしてください。

長所:

  • タイムスパンを含め、投げることができるほとんどすべてを表します。(つまり、3 日と 2 時間)

短所:

  • うーん...私は実際には知りません。慣れるのに少し時間がかかるかもしれません。それを解析するための関数が組み込まれていない場合、解析するのは確かに簡単です。
于 2008-09-18T10:29:25.530 に答える
5

ISO 8601Dateは自然な選択のように思えますが、ブラウザで実行されているJavaScriptで解析する場合は、ライブラリを使用する必要があります。これは、 ISO8601の日付を解析できるJavaScriptオブジェクトの部分に対するブラウザのサポートに一貫性がないためです。 、比較的新しいブラウザでも。ISO 8601のもう1つの問題は、それが大きくて豊富な標準であり、日付/時刻ライブラリがその一部しかサポートしていないことです。そのため、使用するライブラリでサポートされているISO8601のサブセットを選択して使用する必要があります。

代わりに、 1970-01-01T00:00Z以降のミリ秒数として時間を表します。Dateこれは、少なくともIE7(私がテストした中で最も古いもの)に戻って、はるかに古いブラウザーのオブジェクトのコンストラクターによって理解されます。

于 2012-06-05T15:19:08.967 に答える
2

リテラルの設定はありませんので、最も簡単なものを使用してください。ほとんどの人にとって、これは UTC 出力の文字列か、UTC 中心のタイムコードの長整数のいずれかです。

もう少し背景については、これを読んでください:http://msdn.microsoft.com/en-us/library/bb299886.aspx

于 2008-09-18T10:19:45.693 に答える
0

RFC 3339 形式を使用することをお勧めします。RFC 3339形式は素晴らしくシンプルであり、ますます多くの言語、ライブラリ、およびツールで理解されるようになっています。

残念ながら、RFC 3339、Unix エポック時間、および JavaScript ミリ秒時間は、いずれもうるう秒を考慮していないため、まだ正確ではありません! ある時点で、私たちは再び時間表現を再検討する必要があります。たぶん、次回はそれをやり遂げることができます。

于 2014-12-23T23:46:31.210 に答える