mongo date 类型

来源:互联网 发布:淘宝卖家最迟发货时间 编辑:程序博客网 时间:2024/06/13 07:44

mongo的date类型跟javascript的date类型一样,而javascript的date类型来源于java的java.util.Date,所以api基本一样,都有接收毫秒数的构造参数、获取毫秒数的getTime()。关于Date的用法有以下几个点

构造方法

无参构造

new Date()用来创建date对象,注意,new Date()不同于Date(),Date()只是调用了方法,没有创建对象,Date()方法返回时间字符串。

Date()"Wed Oct 12 2016 20:31:34 GMT+0800 (中国标准时间)"

有参构造

Date提供了有参构造来接收参数,参数值是一个毫秒数整数值,表示从1970年1月1日子夜至今的毫秒数。因为计算毫秒数比较麻烦,所以Date提供了Date.UTC()和Date.parse()来返回毫秒数。

Date.parse()

Date.parse(string)参数是时间格式的字符串,一般来说按照 月/日/年 格式,也可以使用英语。

Date.parse("12/10/2016")输出:1481299200000
var date = new Date(1481299200000)输出:Sat Dec 10 2016 00:00:00 GMT+0800 (中国标准时间)

Date.UTC()

Date.UTC(年,月,日,时,分,秒,毫秒),UTC()方法也返回毫秒数,但是参数用来接收年、月、日、时、分、秒、毫秒。月的取值是0~11,这一点一定要注意;如果日不填,默认是1;其他默认是0。注意UTC()方法参数是不带有时区的,也就是说是GMT时间,由于在中国,所以创建的时间会多出8个小时。如

var d = new Date(Date.UTC(2016,9,20));输出:Thu Oct 20 2016 08:00:00 GMT+0800 (中国标准时间)

从中很明显可以看出,多出8个小时。

日不填的情况,默认是1

var d = new Date(2016,9)输出:"Wed Oct 12 2016 21:01:34 GMT+0800 (中国标准时间)"

为了简单起见,Date构造方法分别模仿了Date.parse()和Date.UTC(),

new Date("月/日/年") //模仿Date.parse()new Date(年,月,日,时,分,秒,毫秒) //模仿Date.UTC()

但是Date(年,月,日,时,分,秒,毫秒) 与Date.UTC()不一样,Date(年,月,日,时,分,秒,毫秒) 带有时区,如

var d = new Date(2016,9,20);输出:Thu Oct 20 2016 00:00:00 GMT+0800 (中国标准时间)

常用的方法

Date常用的方法就是返回年-月-日 时:分:秒格式的日期,

var date=new Date(2016,10,20);date.getFullYear()+"-"+(date.getMonth()+1)+"-"+date.getDate()+" "+date.getHours()+":"+date.getMinutes()+":"+date.getSeconds()输出:"2016-11-20 0:0:0"

mongo中的date

有了以上基础,就能懂mongo中的date了。一定要注意mongo中的date字段,数据类型是date,而不是字符串,所以mongo中查询时间字段时,应该使用new Date()

这里写图片描述

很明显,过滤掉了8月份的数据。
这里写图片描述

0 0
原创粉丝点击