如何用php处理mongoDB中的“datetime”?

时间:2011-08-11 06:25:20

标签: php datetime mongodb

有没有办法存储日期时间?这样我就可以计算两个日期时间之间的时间差,并查询日期时间范围。

另外,我想说明一个确切的时间。 ex)12:00:00 01-Jan-2001

我应该用时区或其他更好的方法存储unix-stamp time和datetime字符串来处理这个问题吗?

2 个答案:

答案 0 :(得分:6)

您应该使用MongoDate类在MongoDB中存储日期。

从手册......

  

MongoDB将日期存储为超过纪元的毫秒数。这意味着日期不包含时区信息。如果需要,时区必须存储在单独的字段中

您可以通过检索DateTime属性并在DateTime::setTimestamp()中使用它来将这些对象转换为sec个对象。另请参阅DateTime::setTimezone()

答案 1 :(得分:0)

如果您的应用程序必须处理不同的时区,我会将所有日期转换为应用程序时区,然后再将其保存到数据库。这样你就可以进行适当的计算。如果您需要在申请期间返回原始时区,请同时保存原始时区的名称,然后您就可以重新计算。