как правильно отформатировать функцию mongoDate

Я не уверен, что я делаю это правильно, однако функция даты, кажется, отображается правильно, но по какой-то причине она возвращает время в 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?

0

Решение

$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
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]