Была ли функция, такая как strtotime()
, вызываться в дату-время первой? Эта функция возвращает метку времени Unix, соответствующую дате и времени. Если время равно 0 (то есть полночь), вычитая из него 1 (то есть отбирая 1 секунду), результатом будет время 23: 59: 59.
$event_end = '2010-07-30 00:00:00';
$event_end = strtotime($event_end);
$event_end--;
$event_end = date("Y-m-d H:i:s",$event_end);
echo $event_end; //This will result in '2010-07-29 23:59:59'
PHP рассматривает значения даты и времени (как, например, из MySQL) как простые строки, если только они не являются объектами DateTime, и в этом случае я не думаю, что вычитание из этого могло бы что-то сделать. Единственный способ, которым оператор мог бы повлиять на значение, это если бы это было целое число временной метки.
EDIT:
Ах, я вижу, он использует mktime()
. Это также возвращает метку времени Unix и, следовательно, может использоваться математически. Итак, чтобы ответить на ваш вопрос, на самом деле $event_end--;
вычитает одну секунду.
Обновленный код:
$event_end = mktime(0, 0, 0, 7, 30, 2010);
$event_end--;
$event_end = date("Y-m-d H:i:s",$event_end);
echo $event_end; //This will result in '2010-07-29 23:59:59'