Я пишу проект со значительной обработкой дат в PHP.При этом я написал фрагмент кода, который постоянно работал со сбоями, используя функцию PHP date()
.Я выделил код (остальная часть кода в проекте не имеет значения), и вот он:
<?php
date_default_timezone_set("GMT");
echo date("F m, Y g:ia",strtotime("April 15, 2012 10:00am"));
//Output: April 04, 2012 10:00am
//Should be: April 15, 2012 10:00am
?>
Теоретически (я думаю) этот код должен вычислять метку времени 15 апреля 2012 г.в 10:00 утра.Кажется, это происходит правильно.Функция date()
должна затем превратить эту дату в удобочитаемую дату в том же формате, который был введен.Это не так.Он выводит April 04, 2012 10:00am
.В мае написано 5 мая;в июне, 6 июня.Поэтому я думаю, что есть какая-то ошибка, которая путает день месяца с самим месяцем.
С другой стороны, это может быть странная проблема, которую я никогда не рассматривал.Я ищу второе мнение / "ты так глуп, что делаешь Х неправильно".Если это ошибка, я сообщу об этом.Мне трудно поверить, что это ошибка, потому что с такими датами, которые появятся так скоро, я подумаю, что это уже было замечено.