深入理解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通信都受到路由表的控制. 理 ...
随机推荐
- 【C++】异常简述(一):C语言中的异常处理机制
人的一生会遇到很多大起大落,尤其是程序员. 程序员写好的程序,论其消亡形式无非三种:无疾而终.自杀.他杀. 当然作为一名程序员,最乐意看到自己写的程序能够无疾而终,因此尽快的学习异常处理机制是非常重要 ...
- Farseer.net轻量级ORM开源框架 V1.x 入门篇:存储过程实体类映射
导航 目 录:Farseer.net轻量级ORM开源框架 目录 上一篇:Farseer.net轻量级ORM开源框架 V1.x 入门篇:视图的数据操作 下一篇:Farseer.net轻量级ORM开源 ...
- C# 支持多线程
C# 支持多线程并行执行程序 .一个程序由一个单线程开始,该单线程由CLR和操作系统创建而成,并具有多线程创建额外线程的功能. .创建线程的方法 2.1 通过Thread类来创建线程. ThreadS ...
- 手机端打开调试工具,模拟console.log
将下列代码考入需要调试页面即可 <script src="//cdn.jsdelivr.net/npm/eruda"></script> <scrip ...
- vue工程化
很多人在玩完了官方文档的小例子之后,又不知道如何下手了.所以我这边帮大家把断层补上.大家首先要把vue的基本语法都熟悉了,然后再来这边学习. 有了前面webpack的铺垫,我们直接从vue的工程化开始 ...
- js 异步提交文件
<form method="POST" action="${ctx}/statement/manage/upload" name="form&q ...
- Java B
3.继承时候类的执行顺序问题,一般都是选择题,问你将会打印出什么? 答:父类: package test; public class FatherClass { public FatherClass( ...
- PHP Web开发入门流程
在学习WEB开发前,至少有一个对C或者计算机编程任何一种语言的基本学习,这会对你以后的开发有一定的启蒙作用. 一.Web开发入门 推荐学习网址: http://www.w3school.com.cn/ ...
- ORACLE in与exists语句的区别(一)
select * from Awhere id in(select id from B) 以上查询使用了in语句,in()只执行一次,它查出B表中的所有id字段并缓存起来.之后,检查A表的id是否与B ...
- sql分组和连接
SELECT mr.member_id, mr.username, GROUP_CONCAT(DISTINCT jb.company,jb.start_time,jb.end_time)company ...