strtotime を使用して +1 か月を取得できますが、その日の 23:59:59 を返すにはどうすればよいですか?
たとえば、現在は2013-06-19 03:28で、1 か月追加すると2013-07-19 03:28が返されますが、 2013-07-19 23:59が必要です。
strtotime を使用して +1 か月を取得できますが、その日の 23:59:59 を返すにはどうすればよいですか?
たとえば、現在は2013-06-19 03:28で、1 か月追加すると2013-07-19 03:28が返されますが、 2013-07-19 23:59が必要です。
date("Y-m-d 23:59:59", strtotime("+1 month"));
オレンジピルの答えは役に立ちますが、これはより明確だと思います:
<?php
// You time as Unix timestamp
$now = strtotime('2013-06-19 03:28');
$d = new DateTime();
// Whenever doing date calculations, timezone is important. Set it to "UTC" if you don't care.
$d->setTimeZone(new DateTimeZone('America/Detroit'));
// Initialize date ( - but remember, DateTime can take many other forms of date input)
$d->setTimeStamp($now);
// Increase date by 1 month.
$d->add(new DateInterval('P1M'));
// Overwrite the "clock" part of the date
$d->setTime(23, 59, 59);
// Display the result:
var_dump($d);