我不确定我是否正确这样做,但日期功能似乎正确显示,但由于某种原因,它返回的时间是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 :(得分: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