【问题标题】:Difference between time () and new MongoDate()?time() 和 new MongoDate() 之间的区别?
【发布时间】:2012-02-14 11:18:24
【问题描述】:

使用 PHP time() 和使用 new MongoDate() 有区别吗? 我需要通过 mongoDB 集合为每个文档存储 created_at 和 updated_at 日期 这样我就可以按日期查询它们(例如上周更新的文档)。

从我可以看到 time() 和 new MongoDate() 产生相同的结果?

【问题讨论】:

  • 请添加两个产生相同结果但根据您的情况不同的示例。否则不清楚你想知道什么。

标签: php mongodb


【解决方案1】:

这是因为 time()MongoDate 构造函数的默认值,来自手册:

public MongoDate::__construct ([ int $sec = time() [, int $usec = 0 ]] )

您应该使用MongoDate 对象来查询 MongoDB。

如果您使用time() 的原始输出,您将存储/查询整数。当您使用 MongoDate 时,您将使用 MongoDB 的 Date type,这会给您带来一些额外的好处。

【讨论】:

  • 所以我可以使用 time() 将时间戳保存到数据库?为什么我应该在运行查询时使用 MongoDate?
  • 啊哈好吧。那么像MongoId一样吗?但是文档中的日期看起来完全一样?不应该不一样吗?
  • @Jonathan Clark :echoing 可能看起来一样,因为它有一个 __toString() 方法 php.net/manual/mongodate.tostring.php 返回此对象的字符串表示形式。
  • 嗯,好的。我在终端中运行查询,现在我可以看到当我使用 new MongoDate() 时它保存为 ISOdate。我现在可以按日期间隔查询吗?
猜你喜欢
  • 1970-01-01
  • 2015-07-11
  • 2016-09-10
  • 2010-11-26
  • 1970-01-01
  • 2020-09-24
  • 2016-10-04
  • 2015-07-01
  • 1970-01-01
相关资源
最近更新 更多