mongodb的时间类型有:1、Date(),指的显示当前时间;2、new Date,主要是用来构建一个格林尼治时间,它与Date()相差8小时,相当于系统当前时间;3、ISODate(),指的是格林尼治时间。
下面是详细介绍:
mongdb时间类型
Date() 显示当前的时间
new Date 构建一个格林尼治时间 可以看到正好和Date()相差8小时,我们是+8时区,也就是时差相差8,所以+8小时就是系统当前时间
ISODate() 也是格林尼治时间
> Date()Sun Jan 24 2016 20:39:57 GMT+0800 (CST)
> new Date()
ISODate("2016-01-24T12:40:24.035Z")
> ISODate()
ISODate("2016-01-24T12:52:33.341Z")
查看类型
> typeof Date()string
> typeof new Date()
object
时间戳
> ISODate("2016-01-24T12:52:33.341Z").valueOf()1453639953341
查找
>db.tb1.find({time:{$gt:new Date(1363746981289)}})支持多种格式:
> db.tb1.insert({mydate:ISODate("2012-11-02 07:58:51")})
> db.tb1.insert({mydate:ISODate("20121102 07:58:51")})
> db.tb1.insert({mydate:ISODate("20121102")})
也可以直接操作:
>db.tb1.find({"mydate":{$gt:ISODate("2012-10-02T07:58:51Z")}})和db.tb1.find({"mydate":{$gt:new Date("2012-10-02T07:58:51Z")}})相同
存储
MongoDB存储时间类型数据时,都是先转换为UTC时间,然后存储到数据库中
toLocaleString() 返回的是包含当前时区信息的时间字符串
> ISODate("2016-01-24T12:52:33.341Z").toLocaleString()Sun Jan 24 2016 20:52:33 GMT+0800 (CST)