【PHP8.x】ISO8601_EXPANDED定数の使い方
ISO8601_EXPANDED定数の使い方について、初心者にもわかりやすく解説します。
基本的な使い方
ISO8601_EXPANDED定数は、PHPのDateTimeImmutableクラスに属する、日付と時刻の国際標準規格ISO 8601の拡張書式を表す定数です。この定数は、日付と時刻の情報を厳密かつ一貫した形式で表現するために使用されます。
この定数が定義する書式は、YYYY-MM-DDTHH:MM:SS[+-]HH:MMのようなパターンに従います。具体的には、年(YYYY)、月(MM)、日(DD)で日付を表し、文字Tの後に時間(HH)、分(MM)、秒(SS)で時刻を表します。最後に、タイムゾーンオフセット([+-]HH:MM)を付加することで、特定の日時がどのタイムゾーンに属するかを明確に示します。例えば、「2023年10月27日15時30分00秒、日本標準時(UTC+09:00)」は、「2023-10-27T15:30:00+09:00」と表現されます。
特に「EXPANDED」(拡張)という名称が示す通り、この書式は通常のISO 8601書式が一般的に4桁の年表記を前提としているのに対し、5桁以上の年を扱うことができる点が大きな特徴です。これにより、西暦10000年以降の未来や紀元前といった、通常の4桁では表現しきれない非常に広い期間の日付も、正確に文字列化し、また解析することが可能です。
DateTimeImmutableクラスやDateTimeクラスのformat()メソッド、またはcreateFromFormat()メソッドなどでこの定数を用いることで、国際的に通用する厳密な日付・時刻文字列を簡単に生成したり、その文字列からDateTimeオブジェクトを復元したりできます。異なるシステム間でのデータ交換や、長期にわたるデータの保存において、日付と時刻の解釈のずれを防ぎ、データの正確性と互換性を保証する上で極めて有用です。特に、通常のシステムが扱わないような広範囲の年代を扱うアプリケーション開発において、この拡張形式は重要な役割を果たします。
構文(syntax)
1<?php 2echo DateTimeImmutable::ISO8601_EXPANDED;
引数(parameters)
戻り値(return)
string
DateTimeImmutable::ISO8601_EXPANDEDは、日付と時刻をYYYY-MM-DDTHH:MM:SS.ffffff+HH:MMの形式で表す文字列定数です。