現在の日時に時間を加算する


//現在の時刻
print "<p>".date('Y年m月d日 H時i分s秒')."</p>";

//1年後の日付
print "<p>".date('Y年m月d日 H時i分s秒' , strtotime('+1 year'))."</p>";

//1ヶ月後の日付
print "<p>".date('Y年m月d日 H時i分s秒' , strtotime('+1 month'))."</p>";

//1日後の日付
print "<p>".date('Y年m月d日 H時i分s秒' , strtotime('+1 day'))."</p>";

//1時間後の日付
print "<p>".date('Y年m月d日 H時i分s秒' , strtotime('+1 hour'))."</p>";

//1分後の日付
print "<p>".date('Y年m月d日 H時i分s秒' , strtotime('+1 minute'))."</p>";

//1秒後の日付
print "<p>".date('Y年m月d日 H時i分s秒' , strtotime('+1 second'))."</p>";

実行結果

2014年05月18日 09時23分02秒
2015年05月18日 09時23分02秒
2014年06月18日 09時23分02秒
2014年05月19日 09時23分02秒
2014年05月18日 10時23分02秒
2014年05月18日 09時24分02秒
2014年05月18日 09時23分03秒

特定の日時に時間を加算する


//1年後の日付
$tmp = strtotime('+1 year' , '1388805247'); //1388805247 タイムスタンプ
echo date('Y年m月d日 H時i分s秒' , $tmp); 

実行結果

2015年01月04日 12時14分07秒
現在よりも前の時刻を取得したい場合は、「+」ではなく「-」に変えるだけ。とっても簡単です!
タイムスタンプの取得方法は、PHP 現在の時刻をいろいろな表示形式で表示する/タイムスタンプを取得する/日付や時刻の一部を取り出す
をご覧ください。

日付の差を求める

//経過日数を求める
function get_past_date($date1,$date2) {

	//$date1:現時刻
	//$date2:過去日時

	$daydiff1 = (strtotime($date1)-strtotime($date2))/(3600*24);
	$daydiff1 = abs($daydiff1);
	return $daydiff1;
}

$date1 = '2014/5/18';
$date2 = '2014/5/1';

print get_past_date($date1,$date2);

実行結果

17
タイムスタンプからタイムスタンプを引いているので、結果は秒数が得られています!
秒数 / (3600 / 24) = 日数に換算

分表示→時間と分表示に変換

function change_time_format($mm) {
	return sprintf("%02d時間 %02d分", floor($mm/60), $mm%60);
}	

$mm = 465;
print change_time_format($mm);

実行結果

07時間 45分
関数化しておくと何かと便利です!

参考文献

【送料無料】PHP逆引きレシピ第2版 [ 鈴木憲治 ]

【送料無料】PHP逆引きレシピ第2版 [ 鈴木憲治 ]
価格:2,940円(税込、送料込)