文档章节

MongoDB 时区问题

一书生
 一书生
发布于 2016/06/29 15:11
字数 212
阅读 688
收藏 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 数组相关操作

package mainimport("fmt""math/rand""time")func main() {//数组的几种定义方式var arr1 [3]int = [3]int{1,2,3}var arr2 = [3]int{4,5,6}arr3 := [3]string{"h", "w", ......

汤汤圆圆
37分钟前
1
0
JAVA 中interrupt、interrupted和isInterrupted的区别

首先,我们说明下三个方法的功能 interrupt() 向当前调用者线程发出中断信号 isinterrupted() 查看当前中断信号是true还是false interrupted() 是静态方法,查看返回当前中断信号并将中断信号...

我爱春天的毛毛雨
41分钟前
1
0
Coding and Paper Letter(二十二)

资源整理。 1 Coding: 1.开源项目openeo api。oponEO开发了一个开放的API,以简单统一的方式将R,python和javascript客户端连接到对地观测大数据云平台的后台。 此存储库包含此API,即oponE...

胖胖雕
今天
1
0
RxJS的另外四种实现方式(三)——性能最高的库

接上篇 RxJS的另外四种实现方式(二)——代码最小的库(续) 代码最小的库rx4rx-lite虽然在性能测试中超过了callbag,但和most库较量的时候却落败了,于是我下载了most库,要解开most库性能...

一个灰
今天
6
0
马太效应

马太效应

yizhichao
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部