Я хотел бы добавить 1 день, а затем вычесть (минус) 1 секунду с данного времени.
Я сделал:
$fromDate = date("Ymd", strtotime("2012-09-28")).' 00:00:00'; $date = strtotime(date("ymd H:m:s", strtotime($fromDate)) . " +1 day") - 1; $toDate = date('Ymd H:m:s', $date); echo $toDate;
но вместо 2012-09-28 23:59:59
он возвращается 2012-09-29 00:09:59
Что я делаю не так?
Вы обойдетесь кругом, вместо того, чтобы приблизиться к вашему коду. Вот мое решение с объектами DateTime
:
$time = new DateTime("2012-09-28"); $time->modify("+1 day"); $time->modify("-1 second"); var_dump($time);
Или, если вам просто нужна последняя секунда дня, почему бы не просто:
$time = "2012-09-28"; $time .= " 23:59:59";
Поскольку маловероятно, что количество секунд / минут / часов в день изменится.
Если я понимаю вас правильно, вам просто нужна последняя секунда в данный день, верно?
Если это так, то вы можете просто иметь:
$theDate = "2012-09-28"; $fromDate = $theDate." 00:00:00"; $toDate = $theDate." 23:59:59";