ISO 8601 期間(duration)変換
YouTube API・OpenAPI・iCalendarなどで見かける ISO 8601 の期間表記(PT1H30M、P1Y2M3DT4H5M6S、P2W など)を、秒・分・時間・日に変換して成分ごとに分解します。秒数から期間文字列を作る逆変換や、基準日時に期間を足す計算もできます。ブラウザ内で処理され、入力内容がサーバーに送信されることはありません。日時とエポック秒の変換は Unixタイムスタンプ変換 もご利用ください。
🔒 ブラウザ内で完結・入力データはサーバーに送信されません
ISO 8601期間 → 秒・分・時間
- 分解
- 合計(秒)
- 合計(分)
- 合計(時間)
- 合計(日)
秒数 → ISO 8601期間
- ISO 8601期間
- 分解
基準日時に期間を足す
上の「ISO 8601期間」欄の値を、基準日時にカレンダー通りに足し引きします。
- 結果の日時
- -
注意事項
- 年と月の長さは固定ではないため、秒・分・時間・日への換算は概算です(1年=365.2425日、1か月=その12分の1)。正確な日時を求めたい場合は、基準日時に期間を足す機能を使ってください。
- 週(W)は7日として換算します。仕様上は週を他の単位と併記できないとされますが、このツールではP1W2Dのような併記も読み取ります。
- 小数は最小の単位に付けるのが仕様ですが、このツールは任意の単位の小数(小数点はドットまたはカンマ)を読み取ります。
- 1日は24時間(86400秒)として計算します。夏時間による日の長さの変化は、秒への換算では考慮しません。
- 入力の英字は大文字・小文字どちらでも読み取れます。先頭に - を付けると負の期間として扱います。
用語解説
ISO 8601 期間(duration)
「P」で始まり、年Y・月M・週W・日D、続けて「T」の後ろに時間H・分M・秒Sを並べて時間の長さを表す形式です。PT1H30Mは1時間30分、P1Y2M3Dは1年2か月3日を意味します。
T(時刻区切り)
日付側の単位と時刻側の単位を分ける文字です。Mは月と分の両方に使われるため、P1Mは1か月、PT1Mは1分と区別されます。
iCalendar の DURATION
カレンダーのアラーム(VALARM)などで使われる期間表記です。-PT15Mのように負の値で「15分前」を表します。
よくある質問
PT1H30M と P1M の「M」は何が違いますか?
T より前の M は月、T より後ろの M は分です。P1M は1か月、PT1M は1分を表します。時間・分・秒を書くときは必ず T を付けてください。
年や月を含む期間の秒数が「概算」なのはなぜですか?
1か月は28〜31日、1年は365日か366日と長さが決まっていないためです。このツールは1年=365.2425日、1か月=その12分の1で換算します。正確な日付が必要なときは、基準日時に期間を足す機能でカレンダー通りに計算できます。
P1W2D のように週と日を併記できますか?
ISO 8601の基本形式では週(W)は単独で使うものですが、このツールは併記も読み取り、週を7日として合算します。ただし、読み込む側のシステムが対応しているとは限らないため、他のシステムに渡す期間は日数にそろえるのが安全です。
PT0.5S のような小数秒や、マイナスの期間は使えますか?
はい。小数はドットでもカンマでも読み取ります。先頭に - を付けた -PT15M のような負の期間も扱えます(iCalendarのアラームなどで使われる形式です)。
このページをシェア
