「右」JSONの日付フォーマット

この翻訳から:「右」JSON形式のDATEで

私はのために非常に多くの異なる規格を見てきました JSONの日付形式を: 私は、多くの異なる標準のJSONの日付の形式を見てきました:

"\"\\/Date(1335205592410)\\/\""         .NET JavaScriptSerializer
"\"\\/Date(1335205592410-0500)\\/\""    .NET DataContractJsonSerializer
"2012-04-23T18:25:43.511Z"              JavaScript built-in JSON object
"2012-04-21T18:25:43-05:00"             ISO 8601

右の1?どちらである 1が正しいのですか? またはベスト? それとも最高の? この上の標準の任意の並べ替えはあります ? 基準は何ですか?


#1階

参考:https://stackoom.com/question/h9uW/正しい日付形式-JSON


ハウス#2

何でもJSONについての日付を知りません。 日付の何もJSONを。 非IS .NETは標準ハック/拡張。何を .NETは、非標準ハック/拡張を行って。

私はAが簡単に変換することができます使用するA形式DateJavaScriptでのオブジェクトは、IEの一つは、それに渡すことができますnew Date(...) 私にはJavaScriptを有効に簡単に変換することができます使用するDateに渡すことができる形式のオブジェクトnew Date(...)形式。 最も簡単で、おそらく最もポータブルフォーマットは、 1970年以降のミリ秒を含むタイムスタンプ 1970年以来、最も簡単で、おそらく最もポータブルフォーマットはミリ秒単位のタイムスタンプが含まれます。


ハウス#3

NO適切なフォーマットがあり いない正しい形式で JSON仕様んが、それを行うには非常に多くの異なる方法がありますなぜ日付交換するためのフォーマットを指定していない。 JSONの仕様は非常に多く存在している理由である形式の交換日時が指定されていませんが、その理由を達成するためのさまざまな方法。

最適な形式で表される日付で間違いなくIS A。ISO 8601形式参照ウィキペディア); 最適な形式に言えることは、ISO 8601形式の表示された日付参照ウィキペディア)。 それはよく知られており、広く使用されている形式と、それは非常によく、相互運用性のために適し作り、多くの異なる言語間で処理することができます。 これはよく知られており、広く使用される形式であり、多くの異なる言語で処理することができ、相互運用性のためにそれに最適です。 あなたが生成されたJSONを管理している場合 、たとえば、あなたは、日付の交換形式は良い選択であるとして8601を選択すると、JSON形式で他のシステムにデータを提供する。 たとえば、あなたはJSON生成月JSON形式のデータを制御することができる場合他のシステムで使用可能な、日付交換フォーマットとして8601を選択することが良い選択です。

あなたが支配していない場合は生成されたJSONを、たとえば、あなたはいくつかの異なる既存システムからのJSONの消費者は、これを処理する最良の方法は、異なるフォーマットを処理するためのユーティリティ機能を解析する日付を持つことであると予想。 たとえば、あなたは、異なるフォーマットを処理するためのユーティリティ関数を解析し、使用日に、この問題に対処するための最良の方法である、あなたは、いくつかの既存のシステムのJSONのユーザーである、JSONの生成を必要とし制御することはできません。


#4階

JSON自体はありません日付を表すことをどのようにを指定して、しかし、JavaScriptが。ん JSON自体はありません日付を表現する方法を指定が、JavaScriptが指定されています。

あなたがすることですべきことで放射されたフォーマットで使用DateS」toJSON,:方法 あなたがすべき使用方法によって発行されたフォーマットを:DatetoJSON

2012-04-23T18:25:43.511Z

その理由は次のとおりです。 次の理由:

  1. それは、人間が読めるだけでなく、簡潔だ 、それは人間が読み取り可能であることだけでなく、非常にシンプル

  2. それは正しくソートさ 正しくソート

  3. それは助けることができる小数秒、含ま年表が再確立 、小数点以下の秒を含む時間順序を再確立することができますが

  4. それはに準拠ISO 8601 符合ISO 8601

  5. まあ-8601は、最後のAの10年以内により確立のための国際ISOされている ISO 8601は、国際的に十年より多くを確立しています

  6. ISO 8601によって承認IS W3CRFC3339、およびXKCD W3CがRFC3339XKCDは 8601 ISO認識しました

前記ということ図書館はこれまで書かれたすべてのDATEは、「1970ミリ秒以来、営業。」理解することができ、 ビーイングが言った各日付ライブラリが理解できる、「ミリ秒の1970以来数を。」 持ち運びに便利SOについて、ThiefMasterは権利である。 そのため、持ち運びが容易なため、ThiefMasterは正しいです。


ハウス#5

RFC 7493(I-JSONメッセージのフォーマット) から、RFC 7493(I-JSON形式のメッセージ)が開始されます

あなたはASK WHO。に応じて、IインターネットJSONまたは相互運用JSONのいずれかのためにJSONは、スタンド あなたが尋ねる方法に応じて、ザ・I-JSONインターネットJSONまたは相互運用可能JSONに代わって。

プロトコルは、多くの場合、設計されたデータ項目含まれていたタイムスタンプや継続時間を含むことを。 プロトコルは、通常、データ項目は、タイムスタンプまたは期間を含むように意図が含まれています。 ITは、そのようなすべてのデータ項目は、ASで指定されたISO 8601形式のAS文字列値表現されることをお勧めしますRFC 3339タイムゾーンではない債務不履行となって、ということが含まれることを、最後に小文字の手紙の中で大文字ザ・むしろを使用することを追加制限でとを、オプションの末尾秒その値が「であっても含まれる 00」。 そのようなすべての項目がに従っていることをお勧めします3339 RFCの ISO 8601形式要件の値の文字列表現や他の制限を持っている、つまり、大文字と小文字の使用の代わりに、タイムゾーンはデフォルトではありません秒でオプションの末尾には、その値は「00」が含まれるべきであったとしても。 また、すべてのデータ項目ことが推奨される持続時間を含むが、同じ追加の制限で、RFC 3339の付録Aの「期間」の生産に準拠しています。 また、含まれるすべてのデータ項目は、付録Aの「期間」RFC 3339の期間と一致している、と同じ制限を追加することを推奨。


ハウス#6

そこへこの唯一の正しい答えは 、ほとんどのシステムが間違ってそれを得る。 唯一の正しい答えがありますが、ほとんどのシステムが間違っています。 別名エポックからのミリ秒数、 64ビット整数。 エポックからのミリ秒の数、また、64ビット整数として知られています。 タイムゾーンは、UIの関心事であると持っていないアプリ層またはDB層に何のビジネスを。 タイムゾーン、アプリケーション層やデータベース層の情勢にはUI関連の問題はありません。 なぜ、あなたのデシベルのケアはどのような時間帯のないあなたは変換の計算を行い、その後64ビット整数としてそれを格納するために起こっているのを知ったときに何かが、ある。 データベースがなぜ私たちは、あなたが知っているとき、それは64ビットの整数になりますどのような時間帯を気にする必要があり、なぜときストレージおよび変換の計算。

余分なビットと、ちょうど御馳走取り除く UIまでの数字として日付。 過剰ビット、UIまでの数字日付のみを削除します。 あなたは何をする簡単な算術演算子を使用することができ 、クエリとロジックを。 あなたは、クエリおよびロジックに、単純な算術演算子を使用することができます。

オリジナルの記事は、0公表 ウォン称賛73 ビュー550 000 +を

おすすめ

転載: blog.csdn.net/w36680130/article/details/105305836