工作日记2017.08.17 MongoDB中的日期查询命令的记录
2017-08-17 11:58
1066 查看
三. MongoDB中的日期查询命令的记录:大于、小于、等于,Date 和ISODate的区别
1.在mongoDB数据库中,时间的保存是ISODate类型,orm关系映射为java.util.Date类型,其保存的时间与我们会有8小时的区别(保存的时间比我们早了8个小时)。
Java 驱动帮我们做了转换。
mongo中的时间与China系统时间相差了8个小时,
这是因为mongo中的date类型以UTC(Coordinated Universal Time)存储,就等于GMT(格林尼治标准时)时间。而系统时间使用的是GMT+0800时间,两者正好相差8个小时。
2.大于小于等于
1.在mongoDB数据库中,时间的保存是ISODate类型,orm关系映射为java.util.Date类型,其保存的时间与我们会有8小时的区别(保存的时间比我们早了8个小时)。
Java 驱动帮我们做了转换。
com.mongodb.util.JSONSerializers.LegacyDateSerializer代码:
private static class LegacyDateSerializer extends CompoundObjectSerializer { LegacyDateSerializer(ObjectSerializer serializer) { super(serializer); } @Override public void serialize(Object obj, StringBuilder buf) { Date d = (Date) obj; SimpleDateFormat format = new SimpleDateFormat( "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"); format.setCalendar(new GregorianCalendar( new SimpleTimeZone(0, "GMT"))); serializer.serialize( new BasicDBObject("$date", format.format(d)), buf); } }
mongo中的时间与China系统时间相差了8个小时,
这是因为mongo中的date类型以UTC(Coordinated Universal Time)存储,就等于GMT(格林尼治标准时)时间。而系统时间使用的是GMT+0800时间,两者正好相差8个小时。
2.大于小于等于
{"updateTime" : {"$gte":ISODate("2016-11-28T11:16:33.303Z"),"$lte":ISODate("2016-12-05T01:16:33.303Z")}}
相关文章推荐
- MongoDB中的日期查询命令的记录:大于、小于、等于、范围内、(mongoVUE 操作记录)
- 工作日记2017.08.15 MongoDB基本命令用
- 工作日记2017.08.25 MongoDB 聚合查询 aggregate
- mongovue 以及mongo shell中对日期查询命令的记录
- Mongodb 查询存在 XX 字段的记录,删除某个列
- 记录一个mysql按日期分组统计的查询
- 最近编写一个日历控件,对包含有日期及时间记录的数据查询很方便
- 工作日常问题记录与解决 更新日期:2016/1/22
- 工作中的一些小记录(命令用法、函数等)
- mongoDB 查询命令
- MongoDB创建表步骤,Mongo常用的数据库操作命令,查询,添加,更新,删除_MongoDB 性能监测
- 记录一个mysql按日期分组统计的查询
- Hibernate SQLQuery查询返回空List,在mysql命令下直接执行sql语句可以正常得到记录
- MongoDB 里面日期查询的问题
- SQL 查询当天,本月,本周的记录 sql 查询日期
- mongodb随机查询一条记录的正确方法!
- 通过身份证号查询出生日期小与当前日期的记录
- sql 查询相同记录下日期最大的 一条
- 【工作记录】筛选、查询本机磁盘
- 记录一条查询连接数的命令,并发的时候好查看