深入理解windows系统内的GMT和时区
http://www.itshanghai.net/technology/wdzl_windowsxp/
GMT,全称Greenwich Mean Time,即格林威治标准时,为什么有这样一个时间呢?原因这里不多说,网上很多,其实它的出现就是为规范全球的时间,各国都已一个固定时间为参照点来计算当地时间。为此1884年的美国华盛顿特区召开了国际经线大会,确定格林威治就是东西经零度的地方。人们将地球人为的分为24等份,每一等份为一个时区,每时区横跨经度15度,时间正好为1小时,以格林威治所在地的时区为中时区,我们现在假设GMT时间为1月10日凌晨(即0点整),往西一个时区,则减去一小时,则当地时间是1月9日夜晚23点整,往东一个时区,则加上一小时,则当地时间是1月10日凌晨1点,依次类推,中国在东经120度上,可以这样计算,(东经120°-东经0°)所得度数再除以15,即得8,所以中国在东八区上,那么,此时中国就是1月10日早上8点整。
有一个计算公式,本地时间=UTC + 时区差。 可能有不少朋友会问,utc是什么? 和GMT有什么区别呢?UTC(Universal Time Coordinated)是通用协调时,这两者几乎是一样的,都是指的格林尼治标准时间,只是UTC的称呼更为正式一点。 对于真个公式,我们来做几个例子就明白了。
首先需要说明,时区差是有正负之分的,以中时区为准,往西为负,往东为正,什么意思呢?举一个例子,中国的时区是东八区,即+08:00,完整写法是GMT+08:00,美国东部时区是西五区,即-05:00,完整写法是GMT-05:00,因为这个时间差需要参与运算,所以不能省去前面的符号。
比如,现在是北京时间2009年2月5日13点40分,我想知道现在纽约(位于西五区)的时间,怎么算?我们来看公式: 本地时间=UTC + 时区差,根据公司首先需要得到当前的UTC时间是多少。UTC在中时区,即0,13:40=UTC+08:00,得出UTC为2009年2月5日05点40分,再利用此公式,由 纽约时间=05;40+(-05:00), 得出 纽约时间=0;40 因为得数为正,这就表示日期没变,还是2月5日,这样我们就可以计算出,此时美国的时间为 2009年2月5日凌晨0点40。
这些是上午由一个域时间差的问题引申出来有关GMT和时区的理解,希望能帮到大家
深入理解windows系统内的GMT和时区的更多相关文章
- 《深入理解Windows Phone 8.1 UI控件编程》基于最新的Runtime框架
<深入理解Windows Phone 8.1 UI控件编程>本书基于最新的Windows Phone 8.1 Runtime SDK编写,全面深入地论述了最酷的UI编程技术:实现复杂炫酷的 ...
- 深入理解windows
阿猫翻译的,用作备忘 深入理解windows——session.window stations.desktops 翻译自:http://www.brianbondy.com/blog/id/100/ ...
- 理解Windows注册表
理解Windows注册表 注意 完之前先备份reg 前言 在Windows 3.x之前, Windows都是使用.ini文件来保存配置信息的, 但是.ini文件的大小最大只能为64KB, 为了突破这个 ...
- 深入理解windows 消息机制
深入理解Windows消息机制 今天我们来学一学Windows消息机制,我们知道在传统的C语音程序中,当我们需要打开一个文件时,我们可以调用fopen()函数,这个函数最后又会调用操作系统提供的函数以 ...
- 彻底理解Windows认证1
彻底理解Windows认证 一.Windows本地认证 1. 我的密码在哪里? 路径:C:\Windows\System32\config\SAM 当我们登录系统的时候,系统会自动的读取SAM文件中的 ...
- 如何修改Windows Azure Web App的时区
Windows Azure的时区默认使用UTC,如果是VM可以直接修改,但Azure Web Apps的隔离性导致我们无法进行设置.应用系统使用DateTime.Now的地方很多,不可能做出一一修改. ...
- 深入理解Windows X64调试
随着64位操作系统的普及,都开始大力进军x64,X64下的调试机制也发生了改变,与x86相比,添加了许多自己的新特性,之前学习了Windows x64的调试机制,这里本着“拿来主义”的原则与大家分享. ...
- C++时间戳转化(涉及GMT CST时区转化)
问题由来 时间戳转换(时间戳:自 1970 年1月1日(00:00:00 )至当前时间的总秒数.) #include <stdio.h> #include <time.h> i ...
- 理解Windows中的路由表和默认网关
每一个Windows系统中都具有IP路由表,它存储了本地计算机可以到达的网络目的地址范围和如何到达的路由信息.路由表是TCP/IP通信的基础,本地计算机上的任何TCP/IP通信都受到路由表的控制. 理 ...
随机推荐
- 老潘 - ListView分析 - 学以致用篇(一)
ListView分析学以致用篇(1) 在我们查看别人的博客的时候,一个人是一个风格的.先说下我的风格,我喜欢思想类比,然后介绍知识,不太喜欢填鸭式的灌输.如果只是想单纯的从我的博客中直接看到代码,我个 ...
- OpenGl之旅-—初识opengl
昨天学习了如何使用codeblocks来编译运行一个opengl的项目.在创建一个新的opengl项目时他默认已经写了一个示例,今天我们就上面的例子进行下代码的剖析,以此来敲开opengl的神秘大门. ...
- reStructuredText学习
reStructuredText学习====================2015年4月1日 学习的最好方法就是尽快动手开始.不断迭代,不断完善. reStructuredText学习v0.1版本. ...
- .net mvc 运行监控和错误捕捉
方法类 /// <summary> /// 运行监控类 /// </summary> [AttributeUsage(AttributeTargets.Class | Attr ...
- linux 安装 mongo 3.4
要求:linux 安装 mongo 3.4 大体上,按照官网提供的方法来做. 系统是ubuntu 16.04 安装的是mongo3.4.8 社区版 1. 导入导入包管理系统使用的公钥 ...
- 深入理解java虚拟机---垃圾收集器和分配策略-1
博文重点: 学习目标:哪些内存需要回收 什么时候回收 如何回收 在基于概念讨论的模型中,主要对Java堆和方法区进行讨论. why?:一个接口中的多个实现类需要的内存可能不一样,一个方法中的多个 ...
- bdflush - 将dirty缓存写回到磁盘的核心守护进程
总览(SYNOPSIS) bdflush [opt] 描述(DESCRIPTION) bdflush 被用来启动核心守护进程将内存中的dirty缓存写到磁盘上.真正清洁工作是一个核心程序完成的. bd ...
- react link引入外部css样式的坑
刚开始的代码是这样的,使用react router4.x写的demo路由跳转后,页面的没有渲染,是因为没有引入外部css文件(或者说引入外部文件路径错误) <!DOCTYPE html> ...
- Spring boot 控制台打印sql
在application.ym中加入: logging: level: com.wechat.cwbt.dao : debug 发现无效 在log4j.properties中加入: log4j.log ...
- 【2018百度之星初赛 B】1001并查集 1004二分 1006不等式
1001 degree 题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=6380 并查集向图中加点,分别记录与初始度数最多的点 直接相连的点数.独立的点数 ...