xs:dateTime

データ型 xs:dateTime (XML Schema)

[1] xs:dateTimeXML Schema で定義されている日付時刻を表すデータ型書式です。

目次

  1. 仕様書
  2. 値空間
  3. 字句空間
  4. 暦法
  5. 文脈
  6. IETF の変種
  7. XRD の変種
  8. GPX の変種
  9. CAP の変種
  10. IIIF の変種
  11. 関連
  12. メモ

仕様書#

値空間#

[18] date/timeSevenPropertyModel のうち、·timezoneOffset· のみが省略可能です >>17

[23] 日の数の制約も課されています >>17

字句空間#

[24] 次のような文字列字句空間に含まれます >>17

  1. [25] 省略可能: -
  2. [26] ASCII数字4桁以上 (): 4桁に満たない場合を除き、先導0禁止
  3. [27] -
  4. [28] ASCII数字2桁 (): 01~12
  5. [29] -
  6. [30] ASCII数字2桁 (): 01~日の数
  7. [31] T
  8. [32] ASCII数字2桁 (): 00~24
  9. [33] :
  10. [34] ASCII数字2桁 (): 00~59
  11. [35] :
  12. [36] ASCII数字2桁 (): 00~59
  13. [37] 省略可能: . の後 ASCII数字1桁以上
  14. [38] 省略可能: 次のいずれか (時差)

[45] ただし、 >>32 が 24 のときは、 >>34>>36>>37 は 0 でなければいけません >>17

[46] ただし、 >>42 が 14 のときは、 >>44 は 0 でなければいけません >>17

暦法#

XML Schema暦

文脈#

[2] swe:timeIso8601 で使われています。

[19] e-Statの日時形式の1つとして使われています。

IETF の変種#

[8] IETF などのいくつかの仕様書は、 RFC 3339の日付形式xs:dateTime の両方の要件を満たすことを求めています。

XRD の変種#

[4] >>3xs:dateTime に、時間帯 Z でなければならないとの制約を課しています。 (時間帯の省略は認められないとも解釈できます。)

[11] >>5 ではそれに加えて小数部も禁止しています。

GPX の変種#

[13] GPX の拡張の time 要素データ型 utcDateTimeType は、 xs:dateTime に、 末尾が Z でなければならないとの制約を加えています >>12


[21] GPX のtime 要素では元の xs:dateTime が使われています。

[22] GPX の実装の1つ、 Suunto AndroidアプリGPX から経路データをインポートする機能は、 秒の小数部が9桁以下なら正常に読み込めますが、 10桁以上あると GPX のインポート処理全体を失敗させます。

[61] 9桁というのは ns 単位ってことでしょうね。

[60] XML Schema は構文上秒の小数部の桁数に制約を設けておらず、 そのような挙動を認めていません。 あるいはハードウェア制限条項を根拠にすることもできるかもしれませんが、 失敗として扱う挙動が利用者に親切とは言えません。 秒の小数部のように精度がそこまで重要とは思われない情報なら、 読み込める精度で丸めて読み込み出来た方が便利です。

CAP の変種#

[53] XML Schema 1.0 第2版 xs:dateTime を参照しつつ、XML Schema 内の正規表現および本文の規定により、 次のように制約しています。

-00:00 も参照。

IIIF の変種#

[58] Presentation API 2.1.1 — IIIF | International Image Interoperability Framework () http://iiif.io/api/presentation/2.1/#navdate

The value must be an xsd:dateTime literal in UTC, expressed in the form “YYYY-MM-DDThh:mm:ssZ”. If the exact time is not known, then “00:00:00” should be used. Similarly, the month or day should be 01 if not known.

関連#

[9] W3C-DTFRFC 3339の日付形式HTMLの日付形式 (大域日時文字列または地方日時文字列) と似ていますが、細部が異なります。

[47] 派生型として xs:dateTimeStamp があり、そちらは時差が必須です。

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

メモ#

[6] XQuery 1.0 and XPath 2.0 Data Model (XDM) (Second Edition) ( ( 版)) http://www.w3.org/TR/2010/REC-xpath-datamodel-20101214/#dates-and-times

[7] W3C XML Schema Definition Language (XSD) 1.1 Part 2: Datatypes ( ( 版)) http://www.w3.org/TR/2012/REC-xmlschema11-2-20120405/#dateTime

[10] OpenDocumentXML Schema データ型で定義された日付形式を用いています。

[16] XQuery 1.0 and XPath 2.0 Functions and Operators (Second Edition) ( ( 版)) http://www.w3.org/TR/2010/REC-xpath-functions-20101214/#durations-dates-times

[14] xs:dateTime 型、xs:date 型、および xs:time 型のストレージ形式の変更 ( ()) https://msdn.microsoft.com/ja-jp/library/ee240708(v=sql.120).aspx

SQL Server 2014 では、xs:dateTime、xs:date、xs:time の各型のストレージ形式が変更されており、タイム ゾーン情報を含む値と含まない値がサポートされ、タイム ゾーンが保持されるようになりました。

[15] Web Annotation Data Model () https://w3c.github.io/web-annotation/model/wd2/#h-lifecycle-information

The datetime must be a xsd:dateTime with the UTC timezone expressed as "Z".

[49] Selectors and States () https://w3c.github.io/web-annotation/selector-note/#h-timestate_def

The timestamp must be expressed in the xsd:dateTime format, and must use the UTC timezone expressed as "Z". If sourceDate is provided, then sourceDateStart and sourceDateEnd must not be provided.

[50] XQuery and XPath Data Model 3.1 () https://www.w3.org/TR/2017/REC-xpath-datamodel-31-20170321/#dates-and-times

[51] XPath and XQuery Functions and Operators 3.1 () https://www.w3.org/TR/2017/REC-xpath-functions-31-20170321/#date-time-types

[59] Time Ontology in OWL () https://w3c.github.io/sdw/time/#x3-3-time-position

[20] Decentralized Identifiers (DIDs) v1.0 (, ) https://w3c.github.io/did-core/#created

[62] rfc4153, https://datatracker.ietf.org/doc/html/rfc4153#section-6.10

[63] RFC 4153ValidPeriod 要素期間を表し、 start 属性と end 属性の値が XML Schemaデータ型 xs:dateTime と定義されています (それ以外の規定なし)。 しかし示されている実例は

        <ValidPeriod start="2002-04-01" end="2003-03-31"/>

... だけで、これは xs:dateTime適合しません。