Я не уверен, что я делаю это правильно, однако функция даты, кажется, отображается правильно, но по какой-то причине она возвращает время в AM, а не в PM, Пример,
Прямо сейчас, если бы я должен был создать новую дату, используя:
$time = new mongoDate();
Затем я сохраняю это в базе данных, в записи это выглядит так:
ISODate("2014-10-22T00:22:34.619Z")
Я предполагаю, что есть кое-что, что я делаю не правильно, но когда я тогда форматирую это, используя:
date('d M, Y h:ia', $time->sec)
Это выглядит так:
22 Oct, 2014 12:22am
Я надеюсь, что это что-то чрезвычайно очевидное, но из того, что я могу сказать в ISOdate, оно отображается во времени AM, поэтому мой вопрос: почему оно хранится в AM, а не в PM?
$time->sec
имеет метку времени Unix. Когда вы используете эту метку времени в date()
Функция форматированной даты будет основана на вашем часовом поясе. Вот почему вы получаете 12-часовую разницу.
$dt = new DateTime("@" . $time->sec); // DateTime instance in Z (zulu) timezone
print_r($dt); // print the object
$dt->setTimezone(new DateTimezone('... set your timezone ...'));
print_r($dt); // print the object
Других решений пока нет …