MongoDB 集成Spring 的时间研究
来源:互联网 发布:凤凰卫视知乎2016 编辑:程序博客网 时间:2024/06/05 03:16
一直没太搞清楚spring 集成mongo Date 是怎么处理的,今晚研究了一下,算是搞清楚了。
1, java new Date 的时候,默认是 当前时区,如当前时区是东八区。
2, spring通过mongoRepository 保存到mongoDB的时候, 会把东八区变为GMT时间, 也就是减去8个小时进行保存。
如果new Date 的时间是 2014-02-14 20:00:00, 保存到mongo的时间是: 2014-02-14 12:00:00, 通过mongoVue 和 mongo shell 查看都是这个时间。
3, spring 中通过Query 进行查询时, spring 通过Query 进行查询时, 返回的也是GMT时间: 2014-02-14 12:00:00
然后通过 converter 转化为对象时, 时区转为东八区时间: 2014-02-14 20:00:00.
4, 查询条件的组织是:
用东八区时间进行作为查询条件传给 Query, driver 会转为 GMT 时间进行查询。
结论: 保存 数据的原始时间即可,不需要转换时间为字符串。
代码: 时间转为东八区时间:
Date date = DateUtil.convertStringToDateTime("2014-02-10 20:38:44");Date date2 = DateUtil.convertStringToDateTime("2014-02-10 20:38:50");logger.info( "date is " + date.getTime() );List<Course> result = this.repo.findTest(date, date2);
日期查询
public List<Course> findTest(Date date, Date date2) {Query query = new Query();Criteria criteria = Criteria.where("delflag").is(false);criteria.and("modifyDate").gte(date).lte(date2);query.addCriteria(criteria);query.limit(10);return this.mongoTemplate.find(query, Course.class);}
0 0
- MongoDB 集成Spring 的时间研究
- spring与mongodb的集成
- Spring 集成mongodb的详细方法。
- Spring MongoDB集成
- spring-data 集成mongodb
- mongodb与spring集成
- spring mongodb集成
- spring MongoDB 集成(分页)
- Spring Mongodb集成
- Spring-data集成mongodb
- Mongodb与spring集成
- mongodb集成spring
- MongoDB集成Spring Data
- Mongodb与spring集成
- MongoDB Spring集成Mongo
- MongoDB集成Spring Data
- Spring集成MongoDB
- Spring 集成mongodb maven
- 嵌入式系统ISR与关联任务的通信手段
- java反射
- SQL Server 2008内存及I/O性能监控
- JavaScript split()函数
- 在 Linux下使用 clang3.0+llvm3.0+libc++
- MongoDB 集成Spring 的时间研究
- 芯片框架图
- ibatis的几个小问题
- 深入理解客户端和HBase系统的交互
- ASR research log-log 1
- python - django - 初步认识
- 用Dw CS6运行静态页面出问题
- WPF中不规则窗体与WindowsFormsHost控件的兼容问题完美解决方案
- Prim算法(全程注释)