コンテンツにスキップ

日付・時刻表現リファレンス

event / span / event_rangetime / start / end、および timelinerange に書ける日付・時刻リテラルの形式と精度を一覧します。タイムライン軸への実際の描画のされ方(月・日精度、時・分精度の目盛り生成)は 文法とサンプル を参照してください。

形式 精度
YYYY 1969, -206
YYYY-MM 1969-07
YYYY-MM-DD 1969-07-20
YYYY-MM-DDTHH:MM 1969-07-20T20:17
YYYY-MM-DDTHH:MM:SS 1969-07-20T20:17:40

分・秒精度には、後述のタイムゾーンオフセットを任意で付与できます(例: 1969-07-20T20:17:40Z, 1969-07-20T20:17:40+09:00)。

うるう秒(:60)は常にエラーになります。時刻はどの形式でも 開始..終了 の範囲式(例: 1939-09-01..1945-09-02)で書け、両端の精度が異なっていても構いません(例: 1900..1969-07-20)。範囲がタイムライン軸上でどう配置されるかは 文法とサンプル の「月・日精度のタイムライン軸表示」を参照してください。

分・秒精度の日時リテラルには、次のいずれかを任意で付与できます。付与位置は精度によって異なり、分精度(YYYY-MM-DDTHH:MM)では HH:MM の後ろ、秒精度(YYYY-MM-DDTHH:MM:SS)では HH:MM:SS の後ろになります。

表記 意味
Z UTC
±HH:MM UTC からのオフセット(例: +09:00, -05:00)。15 分単位も許容(例: +05:45

有効範囲は -14:00+14:00(キリバス等が採用する +14:00 を上限とする、実在する UTC オフセットの範囲)です。範囲外・書式不正はどちらもパースエラーになります(エラーコードリファレンスE008)。

# 誤り(範囲外)
event a 2024-01-01T10:00+15:00 "E" {};
# 正しい
event a 2024-01-01T10:00+09:00 "E" {};

Asia/Tokyo のような IANA タイムゾーン名は指定できません。オフセットは固定の分単位の値としてのみ扱われ、夏時間(DST)の自動解決は行われません。期間ごとにオフセットが変わる場合は、著者がその都度明示してください。

offset の有無が混在した場合の挙動

Section titled “offset の有無が混在した場合の挙動”

同一タイムライン内でオフセット付きの値とオフセットなしの値を同じ比較コンテキスト(同一 span / event_rangestart..end、同一 lane 内の並べ替えなど)で混在させることはできません。

  • オフセット付きの値同士は、UTC に正規化してから比較します。
  • オフセットなしの値同士は、暦時刻の値そのまま比較します(タイムゾーンの概念を持ち込みません)。
  • オフセット付きの値とオフセットなしの値を混在させると、明示的なエラーになります(曖昧な比較を暗黙に解決しません)。
# 誤り(オフセット付きとなしが同一 span に混在)
span a 2024-01-01T10:00:00+09:00..2024-01-02T10:00 "S" {};
# 正しい(両方にオフセットを付与)
span a 2024-01-01T10:00:00+09:00..2024-01-02T10:00:00+09:00 "S" {};
# 正しい(両方からオフセットを除く)
span a 2024-01-01T10:00:00..2024-01-02T10:00:00 "S" {};

エラーコードと詳しい修正方法は エラーコードリファレンスE113 を参照してください。

Wikidata インポート(import wikidata { ... } / map ... to ...)で生成されるアイテムの時刻は、常にオフセットなしとして格納されます。静的な event / span にオフセットを付けた場合、Wikidata 由来のアイテムと同一の比較コンテキストで混在させるとこのエラーになり得ます。静的データ側のオフセットを外すか、比較コンテキスト(lane やアイテム)を分けて回避してください。

紀元前も年精度だけでなく、月日・時分(秒)精度をサポートします。符号付きの年で表します(例: -0206-01-15)。

  • 年精度のみのリテラル(YYYY)は桁数制限がなく、range 0..10000; のような 4 桁を超える年もそのまま書けます。
  • 月日・時分(秒)精度が付くリテラルの年部分は、符号付き最大 4 桁に制限されます(10000-07-20 のような 5 桁年付きの日付はサポート外です)。
span shang -1600-01-01..-1046-01-01 "商" {};
event founding -0206-01-15 "前漢建国" {};