カテゴリー
SugiBlog Webエンジニアのためのお役立ちTips

日付の差を求める [PHP]

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

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です