文档章节

MongoDB 时区问题

一书生
 一书生
发布于 2016/06/29 15:11
字数 212
阅读 736
收藏 1

如果我们用Java的new Date()方式创建时间,保存到MongoDB后,会发现MongoDB中的时间总是比当前时间少8个小时,这是因为MongoDB存储时区用的是UTC+0:00,中国的时区为UTC+8:00
解决办法为:在程序代码中添加时间转换,如果是Spring MVC返回JSON的应用,可以直接在实体类中Date类型的属性上添加如下注解:

@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone="GMT+8")

注:@JsonFormat注解加到get方法上。

如果使用的不是Spring MVC + JSON,也可以自己实现一个时区的转换器,用来统一转换Date类型的属性,暂时还没找到如何在MongoDB数据库端设置时区的办法,后面慢慢研究。

© 著作权归作者所有

共有 人打赏支持
一书生
粉丝 3
博文 13
码字总数 5030
作品 0
浦东
高级程序员
私信 提问
加载中

评论(3)

不朽灬达
不朽灬达

引用来自“一书生”的评论

引用来自“霍达”的评论

博主 你测试用java取时间时确定少了八小时,我测试的时候自动会转换成当前时区的时间,只是用Mongodb客户端显示的少八个小时

我用的是spring mongoTemplate取出来少了8小时。
恩 没用过这个 用的是mongodb driver取出来的
一书生
一书生

引用来自“霍达”的评论

博主 你测试用java取时间时确定少了八小时,我测试的时候自动会转换成当前时区的时间,只是用Mongodb客户端显示的少八个小时

我用的是spring mongoTemplate取出来少了8小时。
不朽灬达
不朽灬达
博主 你测试用java取时间时确定少了八小时,我测试的时候自动会转换成当前时区的时间,只是用Mongodb客户端显示的少八个小时
入门(mongodb权威指南第二章)

mongodb的基本概念 文档时mongodb中数据的基本单元,类似于关系数据库中的行(但是比行更复杂) 集合可以看做是没有模式的表 mongodb的单个实例可以容纳多个独立的数据库,每一个都拥有自己的...

十一月不远
2013/03/19
0
0
Docker MongoDB 部署

MongoDB 是一款较为常用的NOSQL 数据库,结合 Docker 使用,能实现轻松配置部署、迁移,本文以下为简要介绍如何在 Docker 中部署并使用 MongoDB。下文主要分为几个部分,内容如下: MongoDB ...

speculatecat
04/06
0
0
阿里专家视频课限时抢!精讲+实操12节课学懂MongoDB数据库!

想要学习MongoDB却不知道如何入门? 漫天的培训课程却无一讲解实战案例? 云栖社区联手阿里云大学独家出品—— 阿里云MongoDB技术负责人、MongoDB中文社区联席主席联合操刀 12期精讲+实操,全...

a独家记忆
07/12
0
0
Henrique Lobo Weissmann: MongoDB 逐渐变得无关紧要

与 TokuMX 和 PostgreSQL 相比较使得 MongoDB 处于劣势。但它仍然是一款很好的产品,而且会继续改进来与这些替代产品竞争,然而目前来看它最多只能排在第三名。2015年MongoDB的改进和发展,我...

shezjl
2015/08/26
0
0
PHP-FPM模式下可怕的 MongoDB-PHP-Driver 连接池无节制连接问题

@郑昀汇总 创建日期:2013/1 问题发生环境: Nginx PHP 5.3.10 as php-fpm extension to nginx mongodb-php-driver 1.2.12 MongoDB 2.2 此问题是 MongoDB PHP Driver 1.2.x 的官方特性导致的......

旁观者-郑昀
2013/02/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Go 使用channel控制并发

前言 channel一般用于协程之间的通信,channel也可以用于并发控制。比如主协程启动N个子协程,主协程等待所有子协程退出后再继续后续流程,这种场景下channel也可轻易实现。 场景示例 总结 ...

恋恋美食
36分钟前
1
0
Apache Flink 漫谈系列 - 持续查询(Continuous Queries)

摘要: 实际问题 我们知道在流计算场景中,数据是源源不断的流入的,数据流永远不会结束,那么计算就永远不会结束,如果计算永远不会结束的话,那么计算结果何时输出呢?本篇将介绍Apache Fl...

阿里云官方博客
40分钟前
9
0
斐波那契堆的理解,节点mark属性和势函数

斐波那契堆 看了好多博客,都是照搬算法导论的内容,没有自己的理解,比如为什么有mark属性,势函数的作用,以及为什么叫斐波那契堆,下面说说鄙人的理解。 势函数 势函数是根节点个数加上2...

杨喆
41分钟前
4
0
NIO源码详解

阻塞io和无阻塞io: 阻塞io是指jdk1.4之前版本面向流的io,服务端需要对每个请求建立一堆线程等待请求,而客户端发送请求后,先咨询服务端是否有线程相应,如果没有则会一直等待或者遭到拒 ...

沉稳2018
45分钟前
0
0
如何把已经提交的commit, 从一个分支放到另一个分支

在本地master提交了一个commit(8d85d4bca680a5dbcc3e5cfb3096d18cd510cc9f),如何提交的test_2分之上? git checkout test_2git cherry-pick 8d85d4bca680a5dbcc3e5cfb3096d18cd510cc9f......

stephen_wu
49分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部