mongo java driver日期转换问题
2014-09-05 11:59
218 查看
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 HH:mm:ss"); 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个小时。
相关文章推荐
- mongodb java driver日期转换问题
- DriverStudio不能转换Source中GDI_DRIVER类型问题解决
- string int Integer之间的转换以及日期问题[转]
- 黄聪:SQL转换日期字段的问题——SQL中CONVERT转化函数的用法[转]
- 关于在java中将string转换成日期的问题
- 数据库问题处理收集(日期处理,表格转换矩阵)
- sql日期转换问题
- sql日期转换比较问题
- 用VBA转换文本文件日期格式问题
- Java写的手机计费系统(作为学习参考的实例:关键是Java类库里面的date和Calendar的使用和相互转换,以及一些日期的实际问题)
- Struts2 日期转换总显示为String的问题
- DECODE和日期类型转换中出现的问题
- 简单方法搞定日期格式转换的问题
- 使用json-lib的JSONObject.toBean( )时碰到的日期属性转换的问题
- 有关日期格式转换的问题
- Object.ToString函数在转换日期类型数据时的精度问题
- mysql 日期转换问题
- 关于Flex中日期类型转换问题
- java与json互相转换(解决日期问题) 【转】http://hi.baidu.com/nwwolfhdy/blog/item/54e0ac13a6282f0e5baf53f5.html
- Newtonsoft.net转换日期、时间数据时出现(/Date()/)的问题