時間/数値

ISO 8601期間パーサー

"P3Y6M4DT12H30M5S"のような文字列を読みやすい形式に解析、または年/月/日/時/分/秒からそのような文字列を作成。


                        

An ISO 8601 duration (e.g. P3Y6M4DT12H30M5S) is a compact, unambiguous way to write a time span, used by many APIs and data formats, but hard to read without parsing it. This tool translates such a string into plain language and lets you build one from separate fields.

How to use it

Common uses

Things to keep in mind

The leading P stands for "period" and is required, just like the T that separates days from hours in the time part.

The base standard doesn't define a sign for durations — negative durations (to mean "ago") are only supported by specific implementations as an unofficial extension.

このツールに関する記事: ISO 8601 Duration:標準フォーマットで時間の長さを書く方法

よくある質問

P3Y6M4DT12H30M5Sのような文字列は何を意味しますか?

これは標準のISO 8601期間フォーマットです: Pは「period(期間)」を意味し、その後T文字までに年/月/日が続き、その後に時/分/秒が来ます。この例では3年、6か月、4日、12時間、30分、5秒です。

ISO期間は単純な時間の期間とどう違いますか?

固定単位(期間計算機のような)とは異なり、ここでの「年」と「月」の構成要素はカレンダーベースであり、固定の秒数を持ちません — その正確な長さは適用される特定の日付に依存します。

週フォーマットP4Wはサポートされていますか?

はい、ただし既存の文字列を解析する場合のみです。独自の文字列を作成する場合、ISO 8601は1つの文字列内で週を他の構成要素と組み合わせることを許可しないため、週は日数で表す必要があります。

小数秒や小数分を指定できますか?

はい、標準では文字列の最後のコンポーネントにのみ小数部分が許可されています——例えばPT1.5S(1.5秒)やPT1H30.5M(1時間30.5分)は有効ですが、最後以外のコンポーネントの小数部分は無効です。

負のISO期間はありますか?

基本的なISO 8601標準は期間の符号を定義していませんが、一部の実装(このツールを含む)は「〜前」や逆向きの期間を表すために先頭にマイナス記号を付けることをサポートしています——これは一般的ですが非公式な拡張です。

記事: 時間/数値

Unix時間:コンピュータが1970年から時間を数える理由

1970年1月1日がほとんどのコンピュータシステムにとって時間の基準点になった理由。

Cron式:タスクのスケジュールを読み解く方法

*/15 * * * *のような式を読み解き、タスクが正確にいつ実行されるかを知る方法。

数値システム:2進法、8進法、16進法が存在する理由

CSSの色#FF5733が10進数ではなく16進数の桁で書かれる理由。

ビット演算:AND、OR、XORがビットレベルでどう動作するか

ビットAND が論理ANDとどう違うか、そしてなぜ数値の個々のビットを操作する必要があるのか。

日付の差:日数を数えることが見た目より複雑な理由

うるう年のせいで日付を単純に引き算すると間違った結果になる理由。

年齢計算:単純な年の引き算ではない理由

単純に生まれた年を引き算すると、実際より1歳多い年齢になることがある理由。

タイムゾーン:UTCがGMTと同じではない理由

UTCが年に2回変わることはないのに、ロンドン時間(GMT/BST)は変わる理由。

時間計算:時間・分・秒を正しく合計する方法

分と秒を足すとき、10進法の足し算と同じように余りを次の桁に「繰り上げ」なければならない理由。

週番号:国によって週の数え方が異なる理由

ISO 8601標準では1月1日が前年の第52週または第53週に属することがある理由。

ローマ数字:ゼロも位取りもないシステムの仕組み

IVが6ではなく4を意味する理由と、ローマ数字における減算のルールの仕組み。

IEEE 754:コードで0.1 + 0.2が0.3にならない理由

ほとんどすべてのプログラミング言語で0.1 + 0.2が0.30000000000000004と表示される理由。

数字を言葉に:数字を単語に変換する理由

銀行文書が金額を数字と言葉の両方で同時に書く理由。