MongoDB 时区问题

由于工作的原因,我最近在弄数据库是mongoDB的java项目。发现项目中的时间出现问题,每次保存数据的时候时间都会少掉8个小时。

解决办法

在设置时间变量前添加注解

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

pattern是时间格式设置(HH表示24小时制,hh表示12小时制),timezone是时区设置,我们这里是东八区,所以设置为这个。

这个方法来之不易,忍不住为自己点赞!哈哈哈哈

时间: 2024-10-05 06:31:42

MongoDB 时区问题的相关文章

JAVA 处理 Spring data mongodb 时区问题

Spring data mongodb 查询出结果的时候会自动 + 8小时,所以我们看起来结果是对的 但是我们查询的时候,并不会自动 + 8小时,需要自己处理 解决方法 1   @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") 但是此注解,仅针对json 数据转换的时候处理,如果是form 提交 urlencoded 的时候就没办法了 @Transient @JsonDeserializ

关于MongoDB时区问题

由于MongoDb存储时间按照UTC时间存储的,其官方驱动MongoDB.driver存储时间的时候将本地时间转换为了utc时间,但它有个蛋疼的bug,读取的时候非常蛋疼的是返回的是utc使时间.一个非常直观的体现是时间类型字段存储后和再读入的是不一致的,一个简单的示例如下: table.InsertOne(new MyClass() { Time = DateTime.Now, }); foreach (var data in table.Find(_=> true).ToList()) {

Date, TimeZone, MongoDB, java中date的时区问题

打印new Date(),Fri Aug 12 13:37:51 CST 2016. 显示Asia/Shanghai的时区,但是date toString 的时区简写却是CST.更坑爹的是,Google CST结果出来是Central Standard Time. 表示North American Central Standard Time. 还以为jdk的date类有问题,debug date toString发现确实是将Asia/Shanghai的name 简写成CST. 接着google,

nodejs,mongodb不同时区问题

问题:不同国家,使用不同时区,而服务器代码却在国内,跨时区日期不同,根据日期查询,查询不到数据了 1.mongodb存储的new Date()是UTC时间,也就是0时区的时间,世界标准时间 2.参考moment官网,时区问题: http://momentjs.com/timezone/docs/ npm install moment-timezone var moment = require('moment-timezone');console.log(moment('2018-08-17T07

MongoDB的数据类型(四)

JSON JSON是一种简单的数据表示方式,它易于理解.易于解析.易于记忆.但从另一方面来说,因为只有null.布尔.数字.字符串.数组和对象这几种数据类型,所以JSON有一定局限性.例如,JSON没有日期类型,JSON只有一种数字类型,无法区分浮点数和整数,更别说区分32为和64位数字了.再者,JSON无法表示其他一些通用类型,如正则表达式或函数. BSON BSON(Binary Serialized Document Format)是一种类JSON的二进制形式的存储格式,简称Binary

MongoDB时间类型

mongdb时间类型 Date() 显示当前的时间 new Date 构建一个格林尼治时间   可以看到正好和Date()相差8小时,我们是+8时区,也就是时差相差8,所以+8小时就是系统当前时间 ISODate() 也是格林尼治时间 > Date() Sun Jan 24 2016 20:39:57 GMT+0800 (CST) > new Date() ISODate("2016-01-24T12:40:24.035Z") > ISODate() ISODate(

MongoDB学习笔记一:入门

文档:多个键及其关联的值『有序』地放置在一起. {"greeting" : "Hello, world!", "foo" : 3}集合:一组文档.集合是无模式的,下面两个文档可以存在于同一个集合里面: {"greeting" : "Hello, world!"} {"foo" : 5}集合的命名规则: (1)集合名不能使空字符串"". (2)集合名不能含有\0字符(空

MongoDB权威指南第二版学习笔记二

数据类型 MongoDB在保留JSON基本键/值对特性的基础上,添加了其他一些数据类型. null null用于表示空值或者不存在的字段:{“x”:null} 布尔型 布尔类型有两个值true和false {“x”:true} 数值 shell默认使用64位浮点型数值. {“x”:3.14} 或 {“x”:3} 对于整型值,可使用NumberInt类(表示4字节带符号整数)或NumberLong类(表示8字符带符号整数) {“x”:NumberInt(”3”)} {“x”:NumberLong(

golang解析mongodb中的ISODate类型

在golang中可以使用time.Time数据类型来保存mongodb中的ISODate时间. g type Model struct {     uploadDate time.Time `bson:"uploadDate"` } m := Model{} if err := c.Find(nil).Select({"_id": 0, "uploadDate": 1}).One(&m); err != nil {     fmt.Pri