mongo java driver日期转换问题

简介:
Java代码   收藏代码
  1. https://github.com/ewcmsfree/ewcms/wiki/Help-mongo-java-driver-date  
  2. mongo java driver日期转换问题  
  3. 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找到问题根源:  
  4.   
  5.  if (o instanceof Date) {  
  6.             Date d = (Date) o;  
  7.             SimpleDateFormat format =   
  8.         new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");  
  9.             format.setCalendar(new GregorianCalendar(new SimpleTimeZone(0"GMT")));  
  10.         serialize(new BasicDBObject("$date", format.format(d)), buf);  
  11.             return;  
  12.   }  
  13. 找到问就好办,自己完成日期的转换:  
  14.   
  15. SimpleDateFormat  
  16.  SimpleDateFormat format =   
  17.         new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");  
  18.  format.setCalendar(new GregorianCalendar(new SimpleTimeZone(0"GMT")));  
  19.  Date date = format.parse("2012-01-20 00:00:00");  
  20. date日期变成2012-01-20 08:00:00+08也就是在GMT+8时区下自动加8个小时。  
相关文章
|
3月前
|
SQL 分布式计算 Java
HiveOnSpark 报错:java.lang.IllegalStateException(Connection to remote Spark driver was lost)‘ Last kno
Hive On Spark 测试时遇到`java.lang.IllegalStateException`和`FileNotFoundException`,问题根源是 Spark 缺少 `hive-exec-3.1.3.jar`。解决方法:从 `$HIVE_HOME/lib/`复制该 jar 到 `$SPARK_HOME/jars/`,并使用 `hdfs dfs -put`命令将其上传至 HDFS 的 `/spark-jars/`(根据实际情况调整路径)。重启 Hive 元数据服务后问题解决。
HiveOnSpark 报错:java.lang.IllegalStateException(Connection to remote Spark driver was lost)‘ Last kno
|
3月前
|
Java
java 时区转换日期转换:东八区转为UTC零时区
java 时区转换日期转换:东八区转为UTC零时区
174 0
|
3月前
|
Java
java 时区转换日期转换:UTC零时区转成东八区-19位
java 时区转换日期转换:UTC零时区转成东八区-19位
117 0
|
10月前
|
Java 数据库连接 数据库
【Java异常】Failed to determine a suitable driver class
【Java异常】Failed to determine a suitable driver class
239 0
|
SQL Oracle 关系型数据库
Java连接各种数据库操作(mysql、oracle、postgresql、gbase、mongo)
Java连接各种数据库操作(mysql、oracle、postgresql、gbase、mongo)
491 0
|
XML 关系型数据库 MySQL
Error setting driver on UnpooledDataSource. Cause: java.lang.ClassNotFoundException:
Error setting driver on UnpooledDataSource. Cause: java.lang.ClassNotFoundException:
|
关系型数据库 MySQL
Error setting driver on UnpooledDataSource. Cause: java.lang.ClassNotFoundException
Error setting driver on UnpooledDataSource. Cause: java.lang.ClassNotFoundException
438 0
|
NoSQL Java MongoDB
Java操作MongoDB(聚合函数)向Mongo插入及查询数据(上)
Java操作MongoDB(聚合函数)向Mongo插入及查询数据
467 0
Java操作MongoDB(聚合函数)向Mongo插入及查询数据(上)
|
NoSQL Java MongoDB
Java操作MongoDB(聚合函数)向Mongo插入及查询数据( 下)
Java操作MongoDB(聚合函数)向Mongo插入及查询数据
607 0