MongoDB UTC时间问题
- 偶然导入一批数据,发现在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时间问题相关推荐
- mongodb按照时间分组统计
使用spring data mongodb v1.8 需求1. 数据结构如下.说明:改集合记录的是公司各个系统的访问情况(localPath表示系统,requestTime 表示请求时间,字符串类型, ...
- python获取当前utc时间_python中通过datetime获取UTC时间ISO格式
一个热点统计需求,需要限定一个时间范围,计算出该范围内的热点事件,相关数据则以UTC标准时间的ISO时间格式存在mongodb中,和服务器设置的时区UTC+8并不一致. 为了解决这个问题,直觉反应是在 ...
- js实现UTC时间转为北京时间,时间戳转为时间
用了阿里云的接口,发现其穿的日期是UTC格式的.需要转换. var utc_datetime = "2017-03-31T08:02:06Z";function utc2beiji ...
- Linux下的CST和UTC时间的区别
在linux中,用date查看时间的时候显示: 2008年 12月 17日 星期三 09:04:14 CST CST China Standard Time UTC+8:00 中国沿海时间(北京时间) ...
- python localtime 与utc时间差5分钟_python utc时间减去5分钟
如何在Python中舍入5分钟? 我有这个脚本,但是我认为这可能更容易,而且整小时的计算都出错了.当其22:03时,它返回21:95而不是21:55. import datetime from dat ...
- Linux下CST和UTC时间的区别以及不一致的解决方法
1.在linux中,用date查看时间的时候显示: 2013年 2月 17日 星期三 19:04:14 CST 世界协调时间(Universal Time Coordinated,UTC): GPS ...
- c语言utc时间转换北京时间_C/C++标准库之转换UTC时间到local本地时间详解
前言 UTC 时间DateTime.UtcNow 和 系统本地时间 DateTime.Now 相差8个时区 ,美国本地时间和北京时间相差15个时区: 美国,而一般使用UTC时间方便统一各地区时间差异. ...
- php.ini utc时间,wordpress的UTC时间与本地时间相差8个小时解决方法
我用wordpress建立了我的博客以后,看到后台常规里面的时区默认是"上海",但是发现UTC时间跟本地时间相差8个小时,我觉得这只是显示的问题,就没去管,我发了机篇文章以后,然后 ...
- python utc时间转换为strftime
拿来主义: from datetime import datetimefrom time import timetime_sec = time()def time2str(time_with_sec) ...
- linux c 设置utc时间,C/C++标准库之转换UTC时间到local本地时间详解
前言 UTC 时间DateTime.UtcNow 和 系统本地时间 DateTime.Now 相差8个时区 ,美国本地时间和北京时间相差15个时区: 美国,而一般使用UTC时间方便统一各地区时间差异. ...
最新文章
- 数字孪生卫星:概念、关键技术及应用
- 4个在2020年持续发展的数据中心冷却趋势
- js Array.prototype.slice.call(arguments,0) 理解
- 小红帽linux操作教程_【免费】Linux从入门到精通教程!
- Spring Cloud微服务之Mybatis-Plus代码生成器整合(四)
- iOS 解决导航栏左右 BarButtonItem偏移位置的问题
- java game nokia 5233 model,诺基亚S60/^3完美运行GBA游戏教程 重回孩提时代
- Android pad 刷成苹果,利用安卓手机运行checkra1n越狱你的iPhone/iPad教程,支持12.3-13.5-13.7-14.3-14.4系统...
- Quartus-II 三种方式进行D触发器仿真
- 计算机控制d a数模转换实验,实验一 D、A数模转换实验
- 显示器分辨率一直跳_显示器屏幕一直跳怎么办
- OpenGL---GLUT教程(三) GLUT窗口设置
- python元组元素的提取_Python 元组拆包
- Dynamic Programming?老牛吃药
- [BZOJ2754][SCOI2012]喵星球上的点名 后缀数组
- 设计婴儿、人体冷冻... 颠覆未来的8种技术!网友:太可怕了
- Linux时间子系统之Tick模拟层(Tick Sched)
- Found conflicts! Looking for incompatible packages. This can take several minutes. Press CTRL-C
- 关闭hp服务器风扇检测能进系统吗,cpu风扇如何关闭检测
- HDFS 分布式文件系统的搭建与使用