当我获得日期对象并将其打印在mongo shell中时,它会显示两个不同的时间,如下所示:
>新日期()
2012年2月6日星期一18:49:40 GMT + 0530(IST)
> printjson({created_at:new Date()})
{created_at:ISODate(“2012-02-06T13:19:40.313Z”)}
这两次是不同的,我错了。
答案 0 :(得分:1)
这是因为mongodb始终以UTC格式存储日期,但javascript显示您当地的时间。和printjson内部mongodb shell函数,将日期从您当地的时区转换为utc格式。所以它显示从你当前时间后退-5.30小时。
答案 1 :(得分:1)
时代并没有什么不同,它们完全一样!它只是在不同时区表达的同一时间。 ISODate中的“Z”表示“UTC”(或者有些人试图称之为:GMT)。你在IST(印度标准时间,我猜),这是在GMT + 0530。 18:49:40 @ GMT + 5:30与格林尼治标准时间13:19完全相同。
当我运行你在shell上显示的相同代码时,我得到:
> new Date() ISODate("2012-02-06T13:34:10.667Z")
正如你所看到的,那也是“Z”。也许你正在运行旧版本的shell?
欢呼声, 德里克