如何正确格式化mongoDate函数

时间:2014-10-22 01:25:05

标签: php mongodb date format 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?

1 个答案:

答案 0 :(得分:1)

$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