• 偶然导入一批数据,发现在MongoVUE中看到的日期比实际的日期少了8个小时,原因为MongDB采用的是UTC时间(协调时间时)
  • 如果想要其正常显示,可设置MongoVUE,选择Tools下的Preferences,弹出设置,如下图:设置为Local Timezone后,重新打开view即可
  • 引申出几个问题,第一个为日期如何查询? 第二个为在程序中如何操作?
  • 第一个问题,查询的时候,在工具中,MongoDB会自动将查询的日期减去8小时去查,按正常理解来操作就行,注意图中红框处即可,如下图:
  • 第二个问题,在程序中,读取时间,以及插入时间(使用3.0最新Drive API):
package org.mice;import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.TimeZone;import org.bson.Document;import com.mongodb.MongoClient;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoCursor;
import com.mongodb.client.MongoDatabase;public class Test {/*** 测试* @param args*/public static void main(String[] args) {MongoClient mongo = new MongoClient("localhost", 27017);MongoDatabase db = mongo.getDatabase("chen");MongoCollection<Document> collection = db.getCollection("Test");// 读取数据MongoCursor<Document> cursor = collection.find().iterator();try {while (cursor.hasNext()) {Document temp = cursor.next();System.out.println(Test.getLocalTimeFromUTC((Date)temp.get("MyDate")));}} finally {cursor.close();}// 测试插入一条记录Document doc = new Document("MyDate", new Date());collection.insertOne(doc);}private static DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss") ;  public static String getLocalTimeFromUTC(Date UTCDate){  format.setTimeZone(TimeZone.getDefault()) ;     // 不加的话,读取出的时间也正确return format.format(UTCDate) ;  }
}

MongoDB UTC时间问题相关推荐

  1. mongodb按照时间分组统计

    使用spring data mongodb v1.8 需求1. 数据结构如下.说明:改集合记录的是公司各个系统的访问情况(localPath表示系统,requestTime 表示请求时间,字符串类型, ...

  2. python获取当前utc时间_python中通过datetime获取UTC时间ISO格式

    一个热点统计需求,需要限定一个时间范围,计算出该范围内的热点事件,相关数据则以UTC标准时间的ISO时间格式存在mongodb中,和服务器设置的时区UTC+8并不一致. 为了解决这个问题,直觉反应是在 ...

  3. js实现UTC时间转为北京时间,时间戳转为时间

    用了阿里云的接口,发现其穿的日期是UTC格式的.需要转换. var utc_datetime = "2017-03-31T08:02:06Z";function utc2beiji ...

  4. Linux下的CST和UTC时间的区别

    在linux中,用date查看时间的时候显示: 2008年 12月 17日 星期三 09:04:14 CST CST China Standard Time UTC+8:00 中国沿海时间(北京时间) ...

  5. python localtime 与utc时间差5分钟_python utc时间减去5分钟

    如何在Python中舍入5分钟? 我有这个脚本,但是我认为这可能更容易,而且整小时的计算都出错了.当其22:03时,它返回21:95而不是21:55. import datetime from dat ...

  6. Linux下CST和UTC时间的区别以及不一致的解决方法

    1.在linux中,用date查看时间的时候显示: 2013年 2月 17日 星期三 19:04:14 CST 世界协调时间(Universal Time Coordinated,UTC): GPS ...

  7. c语言utc时间转换北京时间_C/C++标准库之转换UTC时间到local本地时间详解

    前言 UTC 时间DateTime.UtcNow 和 系统本地时间 DateTime.Now 相差8个时区 ,美国本地时间和北京时间相差15个时区: 美国,而一般使用UTC时间方便统一各地区时间差异. ...

  8. php.ini utc时间,wordpress的UTC时间与本地时间相差8个小时解决方法

    我用wordpress建立了我的博客以后,看到后台常规里面的时区默认是"上海",但是发现UTC时间跟本地时间相差8个小时,我觉得这只是显示的问题,就没去管,我发了机篇文章以后,然后 ...

  9. python utc时间转换为strftime

    拿来主义: from datetime import datetimefrom time import timetime_sec = time()def time2str(time_with_sec) ...

  10. linux c 设置utc时间,C/C++标准库之转换UTC时间到local本地时间详解

    前言 UTC 时间DateTime.UtcNow 和 系统本地时间 DateTime.Now 相差8个时区 ,美国本地时间和北京时间相差15个时区: 美国,而一般使用UTC时间方便统一各地区时间差异. ...

最新文章

  1. 数字孪生卫星:概念、关键技术及应用
  2. 4个在2020年持续发展的数据中心冷却趋势
  3. js Array.prototype.slice.call(arguments,0) 理解
  4. 小红帽linux操作教程_【免费】Linux从入门到精通教程!
  5. Spring Cloud微服务之Mybatis-Plus代码生成器整合(四)
  6. iOS 解决导航栏左右 BarButtonItem偏移位置的问题
  7. java game nokia 5233 model,诺基亚S60/^3完美运行GBA游戏教程 重回孩提时代
  8. Android pad 刷成苹果,利用安卓手机运行checkra1n越狱你的iPhone/iPad教程,支持12.3-13.5-13.7-14.3-14.4系统...
  9. Quartus-II 三种方式进行D触发器仿真
  10. 计算机控制d a数模转换实验,实验一 D、A数模转换实验
  11. 显示器分辨率一直跳_显示器屏幕一直跳怎么办
  12. OpenGL---GLUT教程(三) GLUT窗口设置
  13. python元组元素的提取_Python 元组拆包
  14. Dynamic Programming?老牛吃药
  15. [BZOJ2754][SCOI2012]喵星球上的点名 后缀数组
  16. 设计婴儿、人体冷冻... 颠覆未来的8种技术!网友:太可怕了
  17. Linux时间子系统之Tick模拟层(Tick Sched)
  18. Found conflicts! Looking for incompatible packages. This can take several minutes. Press CTRL-C
  19. 关闭hp服务器风扇检测能进系统吗,cpu风扇如何关闭检测
  20. HDFS 分布式文件系统的搭建与使用

热门文章

  1. 淘宝客怎么跟踪订单?
  2. 从模型制作(3dmax)到网页显示(babylonjs)全过程介绍
  3. 【Practical】并行化:VLIW
  4. Word写毕业论文时页眉和页脚的设置问题
  5. 分布式 | dble 读写分离场景下为什么普通的读 sql 发送到了 master 实例上
  6. 最大公约数与最小公倍数求法 C语言版
  7. 2021放假安排时间表
  8. 中标麒麟linux模拟器,Kydroid安卓运行环境
  9. 彩虹智慧物联网技术白皮书
  10. 逆流而上不如顺势而为——SaaS时代正悄然来临