お知らせ
2023.12.5(Tue)
目次
OpenADRで発動を受信する際に、duration(期間)というカラムに、”PT1H”という値が入っていたりします。
これはISO8601 duration specification(ISO8601 期間仕様)というルールに則って記述されています。
今回はこのISO8601 duration specificationの解読方法について、解説していきます。
期間を指定する際に使用される、間隔指定子の一覧になります。
間隔指定子 | 解説 |
---|---|
Y | 年 |
M | 月 |
D | 日 |
W | 週。日付に変換されるのでDと組合せて使うことはできません。 |
H | 時間 |
M | 分 |
S | 秒 |
ISO 8601の期間を表すフォーマットは以下のとおりです。
P[n]Y[n]M[n]DT[n]H[n]M[n]S
最初の1文字目は、”Period”を表すPから始まります。
次に数字+年月日の間隔指定子を記述します。
年月日を指定しない場合は、省略します。
年月日と時間の間にはTを記述します。
※Tは、時間コンポーネントの先行時間指定子です。
次に数字+時分秒の間隔指定子を記述します。
例 | 解説 |
---|---|
P1Y | 1年 |
P0.5Y | 半年 |
PT36H | 36時間 |
P1DT12H | 1日12時間 |
PT1M | 1分 |
P3Y2D | 3年2日 |
PT12H30M5S | 12時間30分5秒 |
いかがでしたでしょうか。
このルールを踏まえて、タイトルの「P2Y3DT6H8M」を解読すると、2年3日6時間8分の期間を表しています。