Я пытаюсь выполнить некоторые базовые операции с датой и меткой времени в PHP и получаю неожиданные результаты. Я пытаюсь получить временную метку с указанием только года, месяца и дня месяца (т. Е. Временную метку даты в 12:00 утра) существующей временной метки $startDate
. Однако она также меняла дату, как видно из следующего кода.
$startDateString = date("Y-M-j", $startDate);
$startDateTimestamp = strtotime($startDateString);
echo "$startDate == $startDateTimestamp ?<br>";
echo date("Y-M-j", $startDate)." == ".date("Y-M-j", $startDateTimestamp)." ?<br>";
Это дает мне следующий вывод:
1299299589 == 1298952000 ?
2011-Mar-4 == 2011-Feb-28 ?
Хотя я не ожидаю, что временные метки будут одинаковыми (так как $startDate
не обязательно в 12:00 утра), я не вижу, как календарные даты не совпадают. Что я делаю не так?