Atomの日付形式

RFC 3339 の日時形式

[14] RFC 3339の日時形式は、 IETFRFC 3339 で規定した日時形式です。 ISO 8601の日時形式プロファイルであり、 21世紀に入ってから作られた色々な IETFプロトコルで採用されています。

[101] 2006-04-13T14:12:53.4242+05:30 は、 UTC から5時間30分進んだ地方時における、 を表しています。

代替

[31] RFC 3339の日時形式は近年の IETF の仕様ではよく使われていますが、 それ以外ではあまり使われていません。 IETF 内でも細かなバリエーションがあって統一しきれていません。 IETF が規定する仕様を利用する場合を除き、本日時形式は使うべきではなさそうです。 類似した日時形式の中では HTMLの日時形式がより厳密に規定されており、 利用しやすくなっています。

仕様書

構文

[85] 構文は RFC 3339ABNF により規定されています >>82

[86] ISO 8601プロファイルである >>82 とされており、 ISO 8601 と見比べれば自明ということなのか、規定された構文の意味はほとんど説明がありません。

[87] また、一般に RFC 3339の日時形式とされるものは生成規則 date-time受理する言語と解されていますが、 RFC 3339 自身にはどの生成規則プロトコル等に埋め込まれて使われるべきものかが明記されていません。 よって、RFC 3339日時形式を規定しているという解釈もあれば、 日時日付時刻など複数の形式を規定しているという解釈もあります (変種の項も参照)。 ただ、 RFC 3339 に例示があるのはすべて date-time です。

[89] date-time は、 full-dateTfull-time を連ねたものです。 >>82

  1. full-date
  2. |
    1. T
  3. full-time

[90] full-date は、年月日を - で連結したものです >>82

[93] は、 01 - 12 の2桁のASCII数字です >>82

[94] は、 01 - (28, 29, 30, 31 のいずれか) の2桁のASCII数字で、最大値はによる日の数です。 >>82

  1. -
  2. ASCII数字
  3. ASCII数字
  4. -
  5. ASCII数字
  6. ASCII数字

[91] full-time は、時刻時差を連ねたものです >>82

  1. 時刻
  2. 時差

[95] 時刻は、: で連結したものです。 最後に秒の小数部も置くことができますが、省略可能です。 >>82

[96] は、 00 - 23 の2桁のASCII数字です >>82

[106] ISO 8601 では認められている 24 は、認められません >>82

[98] は、 00 - 59 の2桁のASCII数字です >>82

  1. ASCII数字
  2. ASCII数字
  3. :
  4. ASCII数字
  5. ASCII数字
  6. :
  7. 秒の小数部

[92] は、4桁のASCII数字です >>82

値域制限はありません。
  1. ASCII数字
  2. ASCII数字
  3. ASCII数字
  4. ASCII数字

[19] ISO 8601 (の当時の版) に従い、年号は4桁でなければなりません。1万年以降や0年よりも前は記述できません。

[1] この日付形式は2000年問題には対応していますが,10000年問題には対応出来ません。 5桁以上も認める形に拡張できるかもしれませんが、 固定長であるという特徴が失われるので注意する必要があります。

[2] なお、西暦1年〜999年を表す時には0を補わなければならないことに注意が必要です。 (但しそれ以前にが違うことにもっと注意が必要です。)

秒と秒の小数部

[97] は、 00 - (58, 59, 60 のいずれか) の2桁のASCII数字で、最大値は閏秒規則によります >>82

[99] 秒の小数部は、 . の後に1桁以上ASCII数字を連ねたものです >>82

  1. ASCII数字
  2. ASCII数字
  3. ?
    1. .
    2. +
      1. ASCII数字

[18] RFC 3339閏秒に対応しています。正閏秒として60秒を使うことができ、 負閏秒では59秒を使いません >>82

[32] 実装がこれを正しく扱えるのかどうかは定かではありません。

[105] 応用は、 正閏秒広告されるまで、 これを含むタイムスタンプ生成するべきではありません。 >>82

[144] 秒の小数部は任意の桁数が認められていますが、精度やプロトコル依存の制約の可否には何ら言及がありません。

時間帯

[4] UTC との時差を記述することができます。

[80] これは fingerprinting vector です。

[100] 時差は、 Z または数値時差です。 数値時差は、符号、:を連ねたものです。 符号は、 + または - です。 >>82

  1. |
    1. Z
    2. =
      1. |
        1. +
        2. -
      2. ASCII数字
      3. ASCII数字
      4. :
      5. ASCII数字
      6. ASCII数字

[78] 時差単位です。単位の時差は記述できず、 適当な単位の時差になおして記述するしかありません >>79

[81] UTC での時刻はわかるものの地方時が不明なことを示す特別な時差表記 -00:00 があります。

[39] これは RFC 822の日時形式由来の慣習で、 ISO 8601の日時形式にはない独自の解釈です。 -00:00 参照。

指示子

[17] TZ は、大文字でも小文字でも構いませんが、 大文字を使うべきです >>82

[102] XML など大文字小文字を区別する状況で使うプロトコルは、 大文字でなければならないと制約しても構いません。 >>82

[103] インターネットプロトコルでも、値の大文字小文字を区別できない状況は稀です。 そもそも ISO 8601大文字を使えない状況で小文字で代用しても良いとしているだけなので、 そのような状況がほとんど考えられないインターネットの新しいプロトコル向けの RFC 3339 がなぜわざわざ小文字も認めることにしたのかは、謎です。 (確かに IETF では大文字小文字を区別しないプロトコルが伝統的ではあったのですが...)

[26] 日時の境界は、 ABNF 構文では T (大文字または小文字) とされています。しかし NOTE で、 応用可読性のため間隔その他の他の区切りを選んでも構わない >>82 とされています。

[104] ABNF では T に限定されているということは、 「RFC 3339date-time」と明示的に参照しているプロトコルにおいては、 T を使うことが要求されていると解釈するべきでしょうか。 「RFC 3339日時」のような曖昧な参照方法のプロトコルは、 他の区切り文字が認められている可能性があります。

処理

[145] 構文的に不正な値や値域を外れた値をどう解釈するべきかにはまったく言及されていません。

レンダリング

[83] クライアントは、言語時差に応じて適切に表示できるようにするべきです >>82

[181] つまり本日時形式はあくまでプロトコル情報交換に用いられる構文を定めるものに過ぎず、 それを利用者エージェントがどのように利用者に提示するかは、 利用者エージェントの裁量の範囲内 (実装の品質の問題) ということになります。

[182] 例えば英語圏では月名数字ではなく英語の名前で表示するのが適切かもしれません。

[183] 「○分前」のような ambtime 形式で表示するのが便利な場面もあるかもしれません。

文脈

[84] 新しいインターネットプロトコルでは、 本形式を使うべきです >>82

[110] RFC 3339 date-time の採用例
[116] RFC 3339 Section 5.6 Internet Date/Time Format 形式の採用例
[124] RFC 3339日時形式の採用例
[34] ScalaでRSSフィードの処理を書いてみたら思ったより大変でした - argius note ( 版) <http://argius.hatenablog.jp/entry/20130830/1377867921>

RSS2.0の日付もRFC 3339になっているケースが割とありました。

[146] フォトコレクション | docomo Developer support | NTTドコモ () <https://dev.smt.docomo.ne.jp/?p=docs.api.page&api_name=photo_collection&p_name=api_1>

タイムゾーンは任意に設定してよい。

RFC 3339 の date-time フォーマットで 秒の1の位まで指定する。

サンプル値) yyyy-mm-ddThh:mi:ss+09:00 (JSTの例)

yyyy-mm-ddThh:mi:ssZ (UTCの例)

[147] 「秒の1の位まで指定する」の意図が不明。秒の小数部は使えないのだろうか。

変種

RFC 2518

[8] RFC 2518 には、 RFC 3339 の前の I-D の規定の一部がコピペされています。 ISO 8601 形式であること、 ABNF 構文、特別な時間帯である -00:00 が含まれていますが、それ以外の説明は省かれています。 >>107

[3] ABNF はほとんど RFC 3339 と同じですが、負閏秒への言及が欠けています。

[108] DAV:creationdate は、 date-time を使うと規定されています >>107

[27] RFC 3339 の出版を待たずに RFC 2518 を出版するため、コピペしたのでしょう (この時代の標準開発では IETF に限らずこのような中長期的な視点を欠いた仕事がしばしば見られました)RFC 2518 の改訂版である RFC 4918 では当該部分が削除され、 RFC 3339date-time が参照されています >>109

UTC date-time value

[117] RFC 7808RFC 3339 date-time時間帯Z とするものを UTC date-time (UTC date-time value) と呼んでいるようです >>118

秒の小数部を認めない変種

[122] SMTP では date-time から秒の小数部を除いたものが使われる場合があります >>121

IETF の XML 系の変種

[15] IETFXML 系仕様では XML SchemaRELAX NG のデータ型としては xs:dateTime (XML Schemaの日付形式) を採用しつつ、本文で「RFC 3339date-time かつ TZ大文字」とされていることが多いです。スキーマ規定参考かは仕様によりますが、 RFC 3339XML Schema の両方の規定の積集合に従わなければならないということになります。

[44] ISO 8601の日付形式 (>>25)に、両者の比較があります。

[6] xs:dateTime10000年問題に対応していますが、 RFC 3339の日時形式は対応していません。 両方の規定に従うためには、9999年までのしか扱えません。

[140] RFC 3863 は、 PIDF timestamp 要素XML Schema では xs:dateTime としながら、 本文では RFC 3339 IMPP datetime format で、 TZ大文字と規定しています >>139, >>141

[142] RFC 3339の日時形式をそのまま使っている RFC 3862 CPIM >>111XML Schema で使っている RFC 3863 PIDF >>139、 そして RFC 3339 はいずれも同じ ietf-impp WG で同時期に開発されたものでした。 つまり RFC 3339 の様々なバリエーションの混乱は、はじめから存在していたのです。

[133] RFC 5070 では、 date-time string は DATETIME data type で表されるとし、 date-time string は RFC 3339 にある ISO 8601部分集合で表し、 DATETIME data type は xs:dateTime で実装される >>132 とされています。果たしてこれが何を意味するのかは不明です (RFC 3339の日時形式xs:dateTime の両方が適用されるという意味でしょうか)。

[135] その改訂版の RFC 7970 では、謎の規定は削除されて、 xs:dateTime だけになっています >>134

[138] RFC 5388 は、 XML Schema 1.0 第2版 xs:dateTime としながらも、 RFC 3339 の値に制約される >>136>>137 と規定しています。 両方で共通して認められる値のみ指定可能ということなのでしょうが、 -00:00 がどう扱われるのかは、はっきりしません。

Date construct (Atom 1.0)

[48] Atom >>46 および Metalink >>47 では、日時の指定は Date construct と呼ばれています。

[49] Date construct 中には空白を含めてはなりません Atom 1.0 3.

[50] RFC 3339date-time (RFC 3339の日付形式) でなければなりません。 記号 TZ大文字でなければなりません>>46, >>47

[51] RELAX NG スキーマ (参考) では xsd:dateTime となっています >>46, >>47

[131] RFC 7049 は、“RFC 4287 3.3 節で refine された RFC 3339 形式” を採用しています >>130。 これに RELAX NG スキーマ (参考) で示された制約まで含まれるのかは不明です。

[53] Atom 0.3 では W3C-DTF が用いられていました。 Atom 1.0 の定義とほとんど変わりませんが、厳密には多少の違いがあります。
[41] Commit e188b782a1dc1bd8e9e0006fea476b6c92fd04a7 to hakobe's pig - GitHub ( 版) <http://github.com/hakobe/pig/commit/e188b782a1dc1bd8e9e0006fea476b6c92fd04a7>

Gmailのフィードがhoursが24以上の日付を返してくる

[42] W3CメーリングリストアーカイブAtomフィードは、

    <updated>2014-03-01T11:01:35+0000(UT:C)</updated>
... のようなおかしな日付を出力します。

(RFC 822の日付形式から変換するときに、注釈を考慮せずに時間帯の「:」を補っているようですね・・・。)

EPP

[54] EPP では、 RFC 3339XML Schema xsd:dataTime の両方の部分集合である日付形式を規定しています。

[60] RFC 3730〜3733 によれば:

[64] 例:

  • [65] 2000-06-06T22:00:00.0Z
  • [66] 2005-11-26T22:00:00.0Z

UTC 固定の変種

[67] RFC 3982時間帯UTC (Z) に固定しています。 (XML Schema 定義では xs:dateTime を使用。)

[69] EPPの日付形式xs:dataTimeRFC 3339の日付形式の両方の部分集合で、 時間帯を Z に固定した上で TZ大文字で記述すると規定しています。 (XML Schema 定義では xs:dateTime を使用。)

[70] WS-BaseFaults 1.2 は、時間帯が省略された場合には UTC と解釈しなければなりませんと規定しています。

RFC 5070

[38] RFC 5070 は、 RFC 3339xs:dateTime に加えて ISO 8601:2000 にも言及しています。これが適合性と処理にどう影響するのか評価するのは難しいです。 (RFC 3339xs:dateTimeISO 8601 をベースにはしていますが、 細部は違っています。)

[29] RFC 5070 - The Incident Object Description Exchange Format ( 版) <https://tools.ietf.org/html/rfc5070#section-2.8>

Date-time strings are formatted according to a subset of ISO 8601: 2000 [13] documented in RFC 3339 [12]. The DATETIME data type is implemented as an "xs:dateTime" [3] in the schema.

大文字で UTC は Z の変種

[125] Sieveの日時形式iso8601 と呼ばれるものは、 RFC 3339date-time に次の制限を加えたものです >>126

[129] UTC 以外の時差-00:00 を使うことは禁止されていないようです。

Syslog の日時

[20] SyslogTIMESTAMPRFC 3339の日時形式を採用していますが、 次の制約を加えています >>13

JMAP の日時

[35] JSON Mail Access Protocol Specification (JMAP) ( 版) <http://jmap.io/spec.html>

Where the API specifies Date as a type, it means a string in RFC3339 date-time format, with the time-offset component always Z (i.e. the date-time MUST be in UTC time) and time-secfrac always omitted. The “T” and “Z” MUST always be upper-case. For example, "2014-10-30T14:12:00Z".

Where the API specifies LocalDate as a type, it means a string in the same format as Date, but with the Z omitted from the end. This only occurs in relation to calendar events. The interpretation in absolute time depends upon the time zone for the event, which MAY not be a fixed offset (for example when daylight saving time occurs).

as2-date-time

[165] Activity Streams 2.0RFC 3339date-time から派生した as2-date-time を定義しています >>164

[166] TZ は、大文字としなければなりません >>164。 (なぜか ABNF 構文では大文字でも小文字でも良いように書かれていますが、 英語では大文字のみ認めています >>164。)

[167] とその直前の : を、省略できます >>164ABNF 構文では秒の小数部が存在するときも :秒の整数部を省略できるとされています >>164。これが意図通りなのかは、はっきりしません。

[169] データ型xsd:dateTime が使われています >>168。 従って XML Schemaデータ型の制約も適用されるものと思われます。 ただ、 XML Schemaxsd:dateTime では秒の整数部の省略は認められていませんが...

日付のみの変種

[5] RFC 4646 とその改訂版の RFC 5646 は、 IANA登録簿日付形式として RFC 3339full-date を採用しています >>37, >>120

[33] ( 版) <http://www.houjin-bangou.nta.go.jp/documents/k-resource-dl.pdf>
凡例凡例の説明
YYYY-MM-DDインターネットの技術標準を議論するIETFによる、RFC3339に則った形式。平成27年10月5日(2015年10月5日)の場合は、「2015-10-05」と設定する。

[119] RFC 7808RFC 3339full-date を参照しています >>118

tag: URL

[112] tag: URL を規定する RFC 4151 には、次のような規定があります。

[113] RFC 4151 - The 'tag' URI Scheme () <https://tools.ietf.org/html/rfc4151>

The date is specified using one of the "YYYY", "YYYY-MM" and "YYYY-MM-DD" formats allowed by the ISO 8601 standard [4] (see also RFC 3339 [10]).

[114] この参照をどう解釈するべきなのかは謎過ぎます。なお ISO 8601Normative Reference で、 RFC 3339Informative Reference です >>113

I-JSON の変種

[30] RFC 7493 - The I-JSON Message Format ( 版) <https://tools.ietf.org/html/rfc7493#section-4.3>

It is RECOMMENDED that all such data items be expressed as string values in ISO 8601 format, as specified in [RFC3339], with the additional restrictions that uppercase rather than lowercase letters be used, that the timezone be included not defaulted, and that optional trailing seconds be included even when their value is "00". It is also RECOMMENDED that all data items containing time durations conform to the "duration" production in Appendix A of RFC 3339, with the same additional restrictions.

[36] RFC 3339 でははそもそも省略可能ではないのだが。

TOML の変種

[171] TOMLの日時形式RFC 3339 をベースにしたもので、4種類あります。

[172] Offset Date-Time は、 時間の特定の瞬間を表すものです。 RFC 3339 date-time で、時差が指定されたものです。 >>170

[174] Local Date-Time は、時差時間帯を記述せずに特定の日時を表すものです。 RFC 3339 date-time で、時差を省いたものです。 >>170

[175] 追加の情報がないと特定の瞬間に変換することはできず、その必要が生じた場合の方法は実装規定です。 >>170

[177] Local Time は、時差時間帯を記述せずに日の時刻を表すものです。 RFC 3339 date-time時刻部分のみを使ったものです。 >>170

[173] これら3つの形式において、秒の小数部精度実装規定としますが、 最低でもミリ秒精度を持つことが期待されます。 実装が扱える精度よりも細かい値が与えられた時、 丸めるのではなく、切り捨てなければなりません。 >>170

[176] Local Date は、時差時間帯を記述せずに特定のの全体を表すものです。 RFC 3339 date-time日付部分のみを使ったものです。 >>170

関連

ISO 8601 との関係

[7] RFC 3339 の日付・時刻形式は、 ISO 8601の日付形式部分集合です (一部怪しいですが)。 基本的に RFC 3339 形式の日時は、 ISO 8601 形式の日時でもあります。 逆は必ずしもではありません。

[16] ISO 8601の日付形式 (>>25)に、類似形式との比較があります。

[88] RFC 3339 には、 (なぜか) RFC 3339 で採用しなかった部分を含む ABNF 構文が収録されています。これについては ISO 8601の日時形式を参照。

HTML との関係

[9] HTMLの日付形式 (大域日時) と似ていますが、 HTML では TZ大文字を使わなければなりませんし、 HTML閏秒にも対応していません。

[45] HTMLRFC 3339の日時形式を採用したことは一度もありません。

[52] RFC 3339 が特別な解釈を与えた値 (-00:00) を禁止している >>71 ソースコードのコメント参照 ように、関係性を意識はしていますが、 それは互換性を求める存在というよりは区別されるべき存在としてでしょう。

[72] ところが、一部で HTML日時RFC 3339 形式であるとのデマが流布されたことがあるようです。 しかもその元をたどると、 (当時まだ WHATWG と協力関係にあった) W3CHTML WGHTML: The Markup Language という文書でした。 /TR/ で出版された最初の版に既に RFC 3339 形式を制限したものだとの記載 >>73 があり、 /TR/ で出版された最後の版ではそれが“拡充”されていました >>74, >>75

[76] この文書は、著者向けを謳って HTML 5 本体仕様の内容を説明しなおしたものでしたが、 当時から技術的内容が異なる可能性が指摘され、存在意義に疑問を持たれていました。 実際、本来の規定と異なる内容を「著者向けにわかりやすく」公式に説明することで、 デマを拡散してしまったわけです。 (危惧が現実化したことまで当時把握していたかどうかは不明ですが、 この文書は結局未完成のまま破棄されました。落ち着くべきところに落ち着いたのは良かったですが...)

[77] そもそもなぜこの文書が RFC 3339 を参照していたのかは、謎です。 HTML 5 を読まずに書いたわけではないでしょうし。。。

歴史

[43] draft-newman-datetime-01 - Date and Time on the Internet () <https://tools.ietf.org/html/draft-newman-datetime-01>

[40] draft-ietf-impp-datetime-00 - Date and Time on the Internet: Timestamps () <https://tools.ietf.org/html/draft-ietf-impp-datetime-00>

[143] W3C-DTF には、 RFC 3339 の前の I-D の影響を受けた旨が記載されています。

PICS の日時形式

[158] PICSRFC 3339 の前の I-D を参照しつつも、 独自の日時形式を規定していました。

[161] ものによっては日付の区切りに - ではなく . を使っています >>160

[214] DRAFT-PICS-services-970620 () <https://www.w3.org/PICS/Member/NG/DRAFT-PICS-services-970620.html#Semantics>

If not specified, it defaults to "0000-00-00T00:01-0000". If specified, tools that construct profiles may utilize this information in a slider bar or pulldown list. The sign and timezone have no meaning when used with increment, and the MM value may have 00. Typical values are:

"0001-00-00T00:00-0000" meaning "one year";

"0000-01-00T00:00-0000" meaning "one month";

"0000-00-01T00:00-0000" meaning "one day";

"0000-00-00T01:00-0000" meaning "one hour";

"0000-00-00T00:01-0000" meaning "one minute"

[10] Web Applications 1.0 r5474 disallow -00:00 in a global date and time stringFixing http://www.w3.org/Bugs/Public/show_bug.cgi?id=10370 ( ( 版)) <http://html5.org/tools/web-apps-tracker?from=5473&to=5474>

[148] レシートのフィールド () <https://developer.apple.com/jp/documentation/General/ValidateAppStoreReceipt/Chapters/ReceiptFields.html>

IA5STRING(RFC 3339の日付として解釈されます)

[149] Amazon CloudSearch での日付と時刻の検索 - Amazon CloudSearch () <http://docs.aws.amazon.com/ja_jp/cloudsearch/latest/developerguide/searching-dates.html>

日付と時刻は、IETF RFC3339: yyyy-mm-ddTHH:mm:ss.SSSZ に従って、UTC(協定世界時間)で指定されます。たとえば、1970 年 8 月 23 日午後 5 時は、UTC 形式では 1970-08-23T17:00:00Z となります。UTC で時間を指定するときは、小数点以下の秒数も指定できます。例: 1967-01-31T23:20:50.650Z.

[150] WjInputTime Class - Wijmo 5 Help () <http://wijmo.com/5/docs/topic/wijmo.angular.WjInputTime.Class.html>

If provided, the min and max attributes are strings in the format "hh:mm". Technically, you can use any full date as defined in the W3C [RFC 3339], which is also the format used with regular HTML5 input elements.

[151] WjInputTime クラス - Wijmo 5 Help () <http://wijmo.c1.grapecity.com/5/docs/topic/wijmo.angular.WjInputTime.Class.html>

min属性とmax属性を指定する場合、それらは書式"hh:mm"の文字列にする必要があります。技術的には、W3Cの[RFC 3339]で定義されている任意の日時を使用できます。これは、標準HTML5入力要素でも使用される書式です。

[152] なぜか RFC 3339W3C が定義したことになっている。 そしてそれは HTML5 input で使えることになっている (>>45 にある通り、デマ)。 この説明と例示には「hh:mm」の時刻が示されているのだが、 RFC 3339 で定義された「any full date」が使えるという。 (実装上どちらが正しいのかは知らぬ。) 「any full date」とは何か。そもそも「hh:mm」は「any full date」 に含まれるのか、それともどちらも使えるという意味なのか。 RFC 3339 にある full-date と関係あるのかどうか。 日本語訳では「任意の日時」となっている。日時日付時刻は厳密に使い分けられないことも多々あるが、 この文脈でこういう書き方をされると、何を意図しているのかさっぱりわからなくなる。

[153] SVF PDF Archiver Web APIリファレンス () <https://manual.wingarc-support.com/manual/svf/spa93apiref/?pageId=p55980886>

ISO8601 RFC3339 W3CDTF(日付と時刻をTでつなげる)に準拠した文字列(例 "2016-11-22T11:18:43.933+0900")で出力します。

[154] Introduction · TRUST DOCK (Trustdock著, ) <https://docs.trustdock.io/ja/>

String(RFC3339で定義されているfull-dateに準ずる)

[155] Introduction · TRUST DOCK (Trustdock著, ) <https://docs.trustdock.io/ja/>

String(RFC3339で定義されているdate-timeに準ずる)

[156] イベント(グループ) — サイボウズ Live・API ドキュメント () <https://developer.cybozulive.com/doc/current/pub/gwSchedule.html>

フォーマットは RFC 3339 の日時表現でなければなりません。

[157] People Finder Interchange Format 1.4 ( ()) <https://www.oasis-open.org/committees/download.php/49618/>

All dates and times must be in UTC, never in a local time zone, because data records will be transmitted among many different time zones. This format uses dates in the RFC 3339 format, with only UTC allowed. Front-ends can convert dates and times to the local time zone for display.

[178] RFC 5323 - Web Distributed Authoring and Versioning (WebDAV) SEARCH () <https://tools.ietf.org/html/rfc5323#section-5.10>

when operand for a comparison with a DAV:creationdate or DAV:

getlastmodified property, it SHOULD be treated as a date value in

the ISO-8601 subset defined for the DAV:creationdate property (see

Section 15.1 of [RFC4918]; the behavior of values not in this

format is undefined),

[179] Concise Binary Object Representation (CBOR) () <https://cbor-wg.github.io/CBORbis/#datetimesect>

Tag value 0 is for date/time strings that follow the standard format described in [RFC3339], as refined by Section 3.3 of [RFC4287].

[180] Language Guide (proto3)  |  Protocol Buffers  |  Google Developers () <https://developers.google.com/protocol-buffers/docs/proto3>

Uses RFC 3339, where generated output will always be Z-normalized and uses 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted.