MongoDB时间类型
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)