我在ubuntu服务器上运行mongodb,服务器时间为
root# date
Thu Sep 13 21:15:58 BST 2012
但是当我运行下面的命令时,我得到了不同的结果
root# mongo
MongoDB shell version: 2.2.0
connecting to: test
> new Date()
ISODate("2012-09-13T20:15:58.670Z")
正好有一个小时的差,当我用php使用MongoDate()
更新一个documents updated_on
字段时,该字段的值仍然相差1个小时。
[编辑]实际上我刚刚检查了我的php错误日志,日志文件中的时间也是1小时
[13-Sep-2012 20:11:14 UTC] Log Message (Time should be 21:11:14)
5条答案
按热度按时间dbf7pr2w1#
蒙哥告诉你
Z = Zulu时间/零偏移/ UTC,也可以将该TZ中的时间表示为2012-09- 13 T20:15:58.670+00:00,顺便说一下,如ISO 8601标准中所定义的。
BST是UTC+1。所以,它们是相同的时间,但在不同的时区。
lnlaulya2#
可以通过使用
ToLocalTime
方法显示DateTime来解决此问题。MVC C#示例:
@Model.StartDate.ToLocalTime()
这是由于MongoDB以BST格式存储日期时间的方式。因此夏令时或服务器的时区将对返回到应用程序的实际日期时间产生影响。这段简单的代码将能够根据您的要求使用
ToString("dd MMMM yyyy hh:mm tt")
或任何其他格式进行格式化。jfewjypa3#
在这里,你需要了解一个概念,在时间设置的时钟称为daylight saving time.在世界各地的一些国家的时钟是提前1或更多小时,以体验日光下的一个多小时。IST和GST之间的差异是5.30小时,但新德里和伦敦时间之间的实际时差是6.30小时。有关设置和使用服务器时间的信息,请参阅4GuysFromRolla中的这篇文章。
qyswt5oh4#
要在MongoDB上显示DateTime,最好使用UTC显示格式(祖鲁时间)。这张图片显示了使用NoSQLBooster for MongoDB启用此格式的菜单示例。
zf2sa74q5#
在窗口上更改时区。控制面板-〉日期和时间-〉更改时区-〉(UTC)协调世界时。然后只需更改时间