4

我在 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")

正好相差一小时。updated_on当我使用 php更新文档字段时MongoDate(),该字段的值仍然是 1 小时。

[编辑] 实际上我刚刚检查了我的 php 错误日志,日志文件中的时间也是 1 小时

[13-Sep-2012 20:11:14 UTC] Log Message (Time should be 21:11:14)
4

4 回答 4

6

蒙哥告诉你

2012-09-13T20:15:58.670Z

Z = 祖鲁时间/零偏移量/UTC。您还可以将 TZ 中的时间表示为 2012-09-13T20:15:58.670+00:00,顺便说一下 ISO8601 标准中的定义。

BST 是 UTC+1。因此,它们是相同的时间,但在不同的时区。

于 2012-09-13T20:21:28.607 回答
3

您可以通过使用方法显示 DateTime 来解决此问题ToLocalTime

MVC C# 示例:@Model.StartDate.ToLocalTime()

这是由于 MongoDB 以 BST 格式存储日期时间的方式。因此,夏令时或服务器的时区会对返回给应用程序的实际日期时间产生影响。这个简单的代码将能够像往常一样格式化ToString("dd MMMM yyyy hh:mm tt")或根据您的要求使用任何其他格式。

于 2015-09-16T14:07:18.810 回答
0

在这里,您需要了解时钟时间设置中的一个概念,称为夏令时。在世界上的一些国家,时钟提前 1 小时或更多小时以使日光多 1 小时。IST 和 GST 之间的时间差是 5.30 小时,但新德里和伦敦时间之间的实际时间差是 6.30 小时。有关设置和使用服务器时间的信息,请参阅4GuysFromRolla的这篇文章。

于 2015-12-11T10:30:47.460 回答
-2

在 Windows 上更改您的时区。控制面板 -> 日期和时间 -> 更改时区 -> (UTC) 协调世界时。然后改变你的时间

于 2021-02-09T11:20:09.070 回答