- https://github.com/ewcmsfree/ewcms/wiki/Help-mongo-java-driver-date
- mongo java driver日期转换问题
- mongo保存日期是一个64-bit整形数。java driver保存Date时会把他自动转换为标准时间GMT。如中国在GMT+8时区,保存2012-01-20 00:00:00到库中,查询后结果竟然是2012-01-19 16:00:00跟想要结果不一致。 可以在com.mongodb.util.JSON找到问题根源:
- if (o instanceof Date) {
- Date d = (Date) o;
- SimpleDateFormat format =
- new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
- format.setCalendar(new GregorianCalendar(new SimpleTimeZone(0, "GMT")));
- serialize(new BasicDBObject("$date", format.format(d)), buf);
- return;
- }
- 找到问就好办,自己完成日期的转换:
- SimpleDateFormat
- SimpleDateFormat format =
- new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
- format.setCalendar(new GregorianCalendar(new SimpleTimeZone(0, "GMT")));
- Date date = format.parse("2012-01-20 00:00:00");
- date日期变成2012-01-20 08:00:00+08也就是在GMT+8时区下自动加8个小时。
相关文章
- 10-18将某个日期字符串转换为java.sql.Date的类型
- 10-18sql 日期问题从周转换到日期
- 10-18日期转换问题
- 10-18使用mongo-java-driver-3.0.2连接MongoDB数据库
- 10-18Java时间日期格式转换Date转String和String转Date
- 10-18Java之SimpleDateFormat日期格式转换(Date 和 String 类型之间的转换)
- 10-18【Java EE 学习 35 上】【strus2】【类型转换器】【struts2和Servlet API解耦】【国际化问题】【资源文件乱码问题已经解决】
- 10-18关于Java String 类型转换时null的问题(转)
- 10-18如何将此格式的日期(Tue Jul 13 00:00:00 CEST 2010)转换为Java日期(该字符串来自露天属性)
- 10-18java将指定日期Date类型数据转换为星期几