- PHP
- 2017-09-29 - 更新:2024-08-30
2つの日付の差を求めるサンプルです。
DateTimeクラスを使用します。
まずは2つの日付のオブジェクトを生成します。
$datetime1 = new DateTime('1981-04-22'); $datetime2 = new DateTime('1981-01-01');
DateTime::diffメソッドで日付の差を求めます。
返り値にはDateIntervalオブジェクトが返ります。
$interval = $datetime1->diff($datetime2);
DateIntervalオブジェクトのプロパティ
y | 年 |
---|---|
m | 月 |
d | 日 |
h | 時間 |
i | 分 |
s | 秒 |
invert | 差が負の場合は1、そうでない場合は0 |
days | 日数 |
例)2つの日付の差となる日数を出力する
print $interval->days;
また、フォーマットした文字列を取得したい場合はDateInterval::formatメソッドを使用します。
例)2つの日付の差の年を出力する
print $interval->format('%y');
例)符号を含めた日数を出力する
print $interval->format('%r%a');
その他のフォーマット
Y | 年(先頭に0を含む2桁) |
---|---|
y | 年(数値) |
M | 月(先頭に0を含む2桁) |
m | 月(数値) |
D | 日(先頭に0を含む2桁) |
d | 日(数値) |
a | 総日数 |
H | 時間(先頭に0を含む2桁) |
h | 時間(数値) |
I | 分(先頭に0を含む2桁) |
i | 分(数値) |
S | 秒(先頭に0を含む2桁) |
s | 秒(数値) |
R | 負の値の場合は「-」、正の値の場合は「+」 |
r | 負の値の場合は「-」、正の値の場合は空文字 |
3,013 views