`

时区纪要

 
阅读更多

          问题描述:mongodb使用过程中,发现插入mongodb之前的时间为14点,插入mongodb以后,显示时间为6点,取出mongodb的时间还是14点。换言之,插入mongodb的时间,并没有错,只是被服务器的时区同化了。

         解决过程:

 服务器时区如下:

通过百度搜索得知,以下情况:


本地的服务器时区如下:



初步怀疑是时区不一致造成的,一个是CST,一个是UTC。实践发现并不是,找了一台时区一致的服务器,发现mongodb中的时间数据还是少了八个小时。

          实践结论:mongodb对时间的处理ISODate与java中的java.util.Date的时间相差了8个小时。这是由于mongo中的date类型是以UTC(Coordinated Universal Time)存储,就等于GMT(格林尼治标准时间)时间。而当前服务器时间所处的是东8区(+8),所以mongo shell会将当前的GMT+08时间减去8,存储成GMT时间。因而mongodb查询时,看到的时间少了8个小时。当通过Java去获取mongodb里的时间时,Java的驱动对时区做了处理,所以返回的结果又是当前服务器的时区。

 

时区小课堂:

1.UTC指的是Coordinated Universal Time-时间协调时间(又称世界标准时间、世界同一时间),是经过平均太阳时(以格林威治时间GMT-Greenwich Mean Time为准)、地轴运动修正后的新时标以及以‘秒’为单位的国际原子时所综合精算而成的时间,计算过程相当严谨精密,因此若以‘世界标准时间’的角度来说,UTC比GMT来得更加精准。

2.时区分为东西区,越往西走,时间越慢;越往东走,时间越快。相邻时间相差1小时。中国处在东八区。

 


 

 

分享到:
评论

相关推荐

    WIN7系统时区 大全

    在Windows 7操作系统中,时区设置是一项至关重要的功能,它允许用户根据所在地理位置调整系统时间,以确保与当地时间同步。然而,某些简化版或定制版的Windows 7可能缺少完整的时区信息,导致用户无法找到正确的时区...

    C#修改Windows时区

    本篇文章将深入探讨如何使用C#来修改Windows操作系统的时区设置,以及如何通过提升进程权限来实现这一功能。 首先,修改Windows时区涉及到操作系统级别的设置,这通常需要系统权限。在C#中,我们可以通过P/Invoke...

    Linux修改时区和时间

    Linux 系统中时区和时间的修改 Linux 系统中,时区和时间的正确设置对于系统的运行和维护至关重要。本文将详细介绍 Linux 系统中时区和时间的修改方法。 一、修改时区 时区的设置对系统的时间戳和日期的正确性...

    java.util.TimeZone 的世界时区列表

    ### Java.util.TimeZone的世界时区列表解析 #### 一、概述 `java.util.TimeZone` 是Java标准库中的一个类,用于表示不同时区的信息。本文档提供了通过`java.util.TimeZone`类导出的世界范围内时区列表。该列表不仅...

    android自动修改时区(原创)

    在Android系统中,修改设备的时区是一项关键功能,尤其对于开发者来说,可能需要根据特定需求来自动调整设备时间以适应不同的应用场景。本教程将详细讲解如何创建一个服务(Service),使其能够在后台运行,根据预设...

    补全win7时区设置

    在Windows 7操作系统中,调整时区设置是用户根据自身地理位置和需求来校准系统时间的重要功能。然而,有时默认的时区选项可能并不全面,尤其是对于某些特定的国家和地区,比如澳大利亚和美国的部分时区。在这种情况...

    ibm经典动态时区桌面

    【IBM经典动态时区桌面】是一款专为IBM个人电脑用户设计的桌面软件,它具有独特的功能,能够实时显示全球各地的时区信息,为需要处理跨时区事务的用户提供极大的便利。这款桌面不仅美观,还极具实用性,尤其对于国际...

    c# 获取设置时区SetTimeZoneInformation

    在C#编程中,处理与时间相关的任务时,有时我们需要更改系统的时区设置。`SetTimeZoneInformation` API是一个Windows API函数,它允许程序修改系统时区。虽然C#本身提供了.NET框架来处理日期和时间,但若需要底层...

    java转换时区时间过程详解

    Java时区时间转换是指将一个时区的时间转换成另一个时区的时间,这个过程需要了解时区的概念和计算方法。在本文中,我们将详细介绍时区的概念、UTC时间、格林尼治时间、夏令时、区时转换等知识点,并提供Java代码...

    android 世界时区数据库文件

    1 android 世界时区; 2 数据存储世界时区,含经纬度

    Delphi获取世界时区信息.rar

    在本文中,我们将深入探讨如何使用Delphi编程语言获取并展示全球时区信息。这个程序是基于Delphi7编写的,且不依赖于任何特定的控件,可以在Delphi7环境中直接编译运行。该程序的功能是显示世界各地的时区详情,与...

    oracle19c升级时区版本 32->42,解决数据泵导数据TSTZ报错

    在Oracle数据库环境中,时区版本的更新是至关重要的,尤其是当你需要处理跨越多个时区的数据或者与不同地区进行数据交换时。"Oracle19c升级时区版本 32->42,解决数据泵导数据TSTZ报错"这个话题涉及到Oracle数据库中...

    Linux修改系统时区

    ### Linux修改系统时区 在Linux环境中,正确配置系统时区是非常重要的,它不仅影响到系统内部的时间计算,还会影响到依赖于系统时间的各种应用程序和服务。本文将详细介绍如何在Linux系统中修改系统时区。 #### 1....

    java的时区问题

    Java的时区问题是一个复杂而重要的主题,尤其是在全球化的软件开发中。时区涉及到日期、时间的计算,以及与特定地理位置相关的夏令时调整。Java提供了丰富的时区支持,但理解其工作原理对于开发出正确处理时间的软件...

    世界时区对照表.xls

    全面的世界时区表,可用于软件程序的时区所需数据,时区值、时区代表城市(中英文)、区域(国)(中英文),夏令时(中英文)

    Thinkpad蓝色时区壁纸多分辨率

    标题中的“Thinkpad蓝色时区壁纸多分辨率”指的是这是一组专门为Thinkpad电脑设计的桌面壁纸,主题为蓝色时区,且提供了多种不同的分辨率选择,适应不同尺寸的屏幕。Thinkpad是联想公司旗下的一个著名笔记本品牌,以...

    系统的时区注册表损坏

    在Windows操作系统中,时区设置是管理计算机时间的关键部分,它决定了系统如何根据地理位置和国际标准来调整时间。当出现“系统的时区注册表损坏”的问题时,这意味着系统中的注册表键值可能丢失或遭到破坏,导致...

    查找,添加,删除时区问题

    在IT行业中,时区问题是一个重要的议题,尤其是在全球化的今天,多时区的协作和通信变得日益频繁。本文将深入探讨“查找,添加,删除时区问题”这一主题,主要涉及以下几个方面: 首先,理解时区(Time Zone)的...

    时区设置代码-一个完整的C++类

    在编程领域,尤其是在Windows系统开发中,理解和处理时区设置是一项重要的任务。本文将深入探讨“时区设置代码-一个完整的C++类”的相关知识点,包括`SetTimeZoneInformation`函数的使用、注册表操作以及如何在C++中...

    android时区

    Android 时区设置 Android 时区设置是 Android 操作系统中的一项重要功能,允许用户根据自己的位置和需求来设置时区。时区设置对用户的日常生活和工作产生了重要影响,例如,正确的时区设置可以确保用户的闹钟、...

Global site tag (gtag.js) - Google Analytics