2

私は RESTful JSON データ API を管理していますが、その範囲は拡大しています。現在、すべての日付を文字列「YYYY-MM-DD」として送信していますが、部分的な日付の概念も表す必要があります。

部分的な日付とは、不明なコンポーネント (年月または年のみ) を含む日付値のことです。プレゼンテーション層では、これは次のように変換されます。

2009-09-03 =>  '3rd September 2009'
2009-09    =>  'September 2009'
2009       =>  'Undated 2009'

この種のデータの先例や基準はありますか? たとえば、MySQL は日付フィールドと日時フィールドに 00 の値を許可することでこれを有効にします。たとえば、'2009-00-00' は MySQL 日付フィールドに直接保存されますが、ほとんどのプログラミング言語の日付ライブラリで解析すると、この値は一貫して変換されません。 .

この部分的な日付の概念を JSON フィードで意味的に表現する最良の方法は何ですか?

理想的には、消費者が解析しやすく、ドキュメントで簡単に説明できるソリューションを実装できることです。

4

3 に答える 3

5

編集: もう一度考えてみると、 YYYY-MM と YYYY は両方とも有効なISO 8601であるため、おそらくそれを使用する方がよいでしょう。

JSON は JavaScript リテラル構文のサブセットであり、JS には日付リテラルがないため、JSON 日付 (あらゆる種類の) の標準はありません。http://msdn.microsoft.com/en-us/library/bb299886.aspx#intro_to_json_sidebarbを参照してください。

于 2009-06-04T04:49:39.643 に答える
-1

ストレージに関しては、年、月、日を別々の列に格納し、nullを許可することで、あいまいさを格納できます。このようにして、文字列連結とcoalesce(day、 '00')関数を使用してクエリを実行し、列が空白の場合に'00'を取得できます。

于 2009-06-04T06:25:46.820 に答える
-2

あなたの解決策を@ www.datejs.comで見つけることができます

ありがとう。

于 2009-06-04T04:51:50.717 に答える