日付の差を求める [PHP]
- PHP
-
2017-09-29 - 更新:2024-08-30
この記事は最終更新日から1年以上経過しています。
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,162 views




