北京时间实际上是东几区(北京东站是北京站东吗)
为啥说是目前指 GMT 时间呢?因为本初子午线(子午线即经线,本初子午线即 0 度经线)其实穿过的是沙特阿拉伯西边的麦加,而不是英国的格林威治。
当时英国皇家学会暂时确定格林威治为本初子午线的穿过点﹐加之英国正是兴旺发达时期,全世界就将错就错,用到现在。
说不定哪天改为麦加时间为标准时间也不是没有可能。所以我们使用UTC更加准确。可以理解为GMT=UTC+0
CST,PST
CST: UTC +8 ,可以同时表示美国,澳大利亚,中国,古巴四个国家的标准时间
PST: UTC -8,太平洋标准时间(西八区)
DST(夏令时)
Daylight Saving Time,夏日节约时间
是指在夏天太阳升起的比较早时,将时钟拨快一小时,以提早日光的使用,在英国则称为夏令时间(Summer Time),实施夏令时主要目的是为了节约能源。
夏令时比冬令时时间快一小时
中国目前没有实施夏令时,历史上1986-1992曾短暂实施硬件时钟与系统时钟
Linux时钟分为系统时钟(System Clock)和硬件(Real Time Clock,简称RTC)时钟。
linux中所有的命令都是使用系统时钟
系统时钟和硬件时钟不会发生冲突,可以不一致时间查看与修改系统时间
硬件时间
hwclock/clock
硬件时间和系统时间的同步
系统启动与关闭自动同步
关闭utc
NTP
NTP(Network Time Protocol,网络时间协议)是用来使网络中的各个计算机时间同步的一种协议。它的用途是把计算机的时钟同步到UTC。Linux系统中,为了避免主机时间因为在长时间运行下所导致的时间偏差,一般使用ntp服务来同步不同机器的时时间。
Ecs设置时区与时间
ecs目前所有地域新创建的实例默认使用的时区都是cst即utc+8,如下图所示我新购的ecs是美西地域:

使用终端登录ecs,查看时间与时区,可以看到当前美西的ecs使用的是CST时间,当前时间为北京时间!

那么一个处于其它时区的ecs如何切换至本地时区/时间?下面将按照linux/windows为例子,进行讲述。
Linux
我们仍然以上文linux实例为例,假设我处于美国的洛杉矶,想使用洛杉矶所处的utc时区,那么我们需要修改当前系统时区,
时区配置
cat /etc/localtime
如上文所及是CST时间东八区
rm -rf /etc/localtime
ln -s /usr/share/zoneinfo/US/Pacific /etc/localtime
可以看到时区已经切换至PST(西八区时间),且时间比北京时间慢了16个小时!
执行 hwclock -w将时间刷到硬件时钟,执行reboot

god bless!可以看到ecs时区已经成功设置到PST (西八区太平洋标准时间,utc-8)!
时间配置
如果仅仅是时间不准,我只想修改一下时间呢?也是可以的

比如我想调快时间,设置为16:00:00

执行hwclock -w 然后我们reboot一下os

可以看到时间已经被设置为预期值了!我们需要做的仅仅是修改系统时间!
windows
下面是我在美西新创建的windows实例


可以看到如预期默认时间在UTC+8,下面我们修改一些时区

夏令时
前文说到为了节约时间有很多国家与地区在实时夏令时,这个时候就会发现奇怪的事情,比如美西使用太平洋时间,我国使用东八区时间,理论上时间差是16小时,但是如果在美国的夏令时你会发现实际相差时间只有15小时,因为夏令时时间会拨快一个小时。
下图是美国近几年的夏令时时间开始与结束时间图:

美国的大部分地区都在实施夏令时,周期一般是3月10-11.5号左右,因为经度不同导致日照时间不同,实施夏令时的
各个国家及地区时间均不同,同时也受当地经济,文化等因素影响。windows 夏令时配置

windows下可以设置是否打开自动调整夏令时,默认会是打开状态,如果时区开始夏令时那么时间将会自动调快一个小时!
文章来源:https://developer.aliyun.com/article/359597
本文由发布,不代表新营销立场,转载联系作者并注明出处:http://www.newmarketingcn.com/xinzhishi/40731.html
