PHP 時間を相対的にプラス・マイナス

広告




何度も使うけど都度忘れてしまうので今度こそメモ。

現在から


相対分プラス


現在時刻が"2018-11-03 03:00"の場合
// 2019-11-03 03:00:00
echo date("Y-m-d H:i:s", strtotime('+1 year', time()));

// 2018-12-03 03:00:00
echo date("Y-m-d H:i:s", strtotime('+1 month', time()));

// 2018-11-10 03:00:00
echo date("Y-m-d H:i:s", strtotime('+1 week', time()));

// 2018-11-04 03:00:00
echo date("Y-m-d H:i:s", strtotime('+1 day', time()));

// 2018-11-03 04:00:00
echo date("Y-m-d H:i:s", strtotime('+1 hour', time()));

// 2018-11-03 03:01:00
echo date("Y-m-d H:i:s", strtotime('+1 minute', time()));

// 2018-11-03 03:00:01
echo date("Y-m-d H:i:s", strtotime('+1 second', time()));

相対分マイナス


現在時刻が"2018-11-03 03:00"の場合
// 2017-11-03 03:00:00
echo date("Y-m-d H:i:s", strtotime('-1 year', time()));

// 2018-10-03 03:00:00
echo date("Y-m-d H:i:s", strtotime('-1 month', time()));

// 2018-10-27 03:00:00
echo date("Y-m-d H:i:s", strtotime('-1 week', time()));

// 2018-11-02 03:00:00
echo date("Y-m-d H:i:s", strtotime('-1 day', time()));

// 2018-11-03 02:00:00
echo date("Y-m-d H:i:s", strtotime('-1 hour', time()));

// 2018-11-03 02:59:00
echo date("Y-m-d H:i:s", strtotime('1 minute', time()));

// 2018-11-03 02:59:59
echo date("Y-m-d H:i:s", strtotime('-1 second', time()));


指定日程から


相対分プラス


// 指定日程の指定
$date = strtotime('2018-11-03 03:00');

// 2019-11-03 03:00:00
echo date("Y-m-d H:i:s", strtotime('+1 year', $date));

// 2018-12-03 03:00:00
echo date("Y-m-d H:i:s", strtotime('+1 month', $date));

// 2018-11-10 03:00:00
echo date("Y-m-d H:i:s", strtotime('+1 week', $date));

// 2018-11-04 03:00:00
echo date("Y-m-d H:i:s", strtotime('+1 day', $date));

// 2018-11-03 04:00:00
echo date("Y-m-d H:i:s", strtotime('+1 hour', $date));

// 2018-11-03 03:01:00
echo date("Y-m-d H:i:s", strtotime('+1 minute', $date));

// 2018-11-03 03:00:01
echo date("Y-m-d H:i:s", strtotime('+1 second', $date));

相対分マイナス


// 指定日程の指定
$date = strtotime('2018-11-03 03:00');

// 2017-11-03 03:00:00
echo date("Y-m-d H:i:s", strtotime('-1 year', $date));

// 2018-10-03 03:00:00
echo date("Y-m-d H:i:s", strtotime('-1 month', $date));

// 2018-10-27 03:00:00
echo date("Y-m-d H:i:s", strtotime('-1 week', $date));

// 2018-11-02 03:00:00
echo date("Y-m-d H:i:s", strtotime('-1 day', $date));

// 2018-11-03 02:00:00
echo date("Y-m-d H:i:s", strtotime('-1 hour', $date));

// 2018-11-03 02:59:00
echo date("Y-m-d H:i:s", strtotime('1 minute', $date));

// 2018-11-03 02:59:59
echo date("Y-m-d H:i:s", strtotime('-1 second', $date));

広告

Profile