百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

关于时间、时区、系统时间和硬件时间

nanshan 2024-10-05 18:26 17 浏览 0 评论

时区(Time Zone)是地球上的区域使用同一个时间定义。

1884年在华盛顿召开国际经度会议时,为了克服时间上的混乱,规定将全球划分为24个时区。

一、以下是一些术语的解释

格林威治标准时间 GMT

十七世纪,格林威治皇家天文台为了海上霸权的扩张计画而进行天体观测。1675年旧皇家观测所(Old Royal Observatory) 正式成立,到了1884年决定以通过格林威治的子午线作为划分地球东西两半球的经度零度。观测所门口墙上有一个标志24小时的时钟,显示当下的时间,对全 球而言,这里所设定的时间是世界时间参考点,全球都以格林威治的时间作为标准来设定时间,这就是我们耳熟能详的「格林威治标准时间」(Greenwich Mean Time,简称G.M.T.)的由来,标示在手表上,则代表此表具有两地时间功能,也就是同时可以显示原居地和另一个国度的时间。

世界协调时间 UTC

多数的两地时间表都以GMT来表示,但也有些两地时间表上看不到GMT字样,出现的反而是UTC这3个英文字母,究竟何谓UTC?事实上,UTC指的是 Coordinated Universal Time- 世界协调时间(又称世界标准时间、世界统一时间),是经过平均太阳时(以格林威治时间GMT为准)、地轴运动修正后的新时标以及以「秒」为单位的国际原子 时所综合精算而成的时间,计算过程相当严谨精密,因此若以「世界标准时间」的角度来说,UTC比GMT来得更加精准。其误差值必须保持在0.9秒以内,若 大于0.9秒则由位于巴黎的国际地球自转事务中央局发布闰秒,使UTC与地球自转周期一致。所以基本上UTC的本质强调的是比GMT更为精确的世界时间标 准,不过对于现行表款来说,GMT与UTC的功能与精确度是没有差别的。

夏日节约时间DST

所谓「夏日节约时间」Daylight Saving Time(简称D.S.T.),是指在夏天太阳升起的比较早时,将时钟拨快一小时,以提早日光的使用,在英国则称为夏令时间(Summer Time)。这个构想于1784年由美国班杰明·富兰克林提出来,1915年德国成为第一个正式实施夏令日光节约时间的国家,以削减灯光照明和耗电开支。 自此以后,全球以欧洲和北美为主的约70个国家都引用这个做法。

系统时间

一般说来就是我们执行 date 命令看到的时间,linux系统下所有的时间调用(除了直接访问硬件时间的命令)都是使用的这个时间。

硬件时间

主板上BIOS中的时间,由主板电池供电来维持运行,系统开机时要读取这个时间,并根据它来设定系统时间(注意:系统启动时根据硬件时间设定系统时间的过程可能存在时区换算,这要视具体的系统及相关设置而定)。

世界时间

(Universal Time)世界标准时间即UTC。

地方时间

(本地时间,Local Time)由于处在不同的时区,本地时间一般与UTC是不同的,换算方法就是:

本地时间 = UTC + 时区 或 UTC = 本地时间 - 时区

二. 在Linux中查看系统时间

  1. #date
  2. FriNov723:21:34 CST 2014//本地时间
  3. #date -R
  4. Fri,07Nov201423:21:35+0800//本地时间,RFC2822格式
  5. #date -u
  6. FriNov715:21:37 UTC 2014//UTC时间

CST是什么意思?

其实CST有4中意思,所以这里显示CST是很容易被误解。

Central Standard Time (USA) UT-6:00

Central Standard Time (Australia) UT+9:30

China Standard Time UT+8:00

Cuba Standard Time UT-4:00

因此查看linux系统时间,我还是建议使用后两种方式。

如何去掉hwclock中显示的CST?

执行hwclock命令之前,添加环境变量”export LANG=C”

  1. #hwclock
  2. Sun09Nov201407:38:25 PM CST -0.161066 seconds
  3. #export LANG=C
  4. #hwclock
  5. SunNov919:38:352014-0.813925 seconds

三. 在Linux中查看硬件时间(BIOS时间)

使用命令可以查看BIOS硬件时间:

  1. hwclock --localtime

但因为BIOS里面没有时区的设置,因此有两种时间设定方法。

UTC=yes 存储UTC时间

UTC=no 存储本地LOCAL时间

查看系统是否启用了UTC方法如下:

  1. UTC=falseor UTC=truein file /etc/sysconfig/clock,RHEL5
  2. LOCAL or UTC in file/etc/adjtime,last line,RHEL6
  3. UTC=noor UTC=yes in file /etc/default/rcS,Debian6,Squeeze.
  4. LOCAL or UTC in file/etc/adjtime,last line,Debian7,Wheezy.(ifnot exist,excute hwclock --adjust)

若系统启用了UTC,则显示如下:

  1. # export LANG=C
  2. # tail -1 /etc/adjtime
  3. UTC
  4. date -R
  5. # date -R
  6. Sun,09Nov201419:36:05+0800
  7. hwclock
  8. # hwclock
  9. SunNov919:36:062014-0.031592 seconds
  10. # hwclock --localtime
  11. SunNov911:36:072014-0.672380 seconds //BIOS里面存的是UTC时间

若未启用UTC,则显示如下:

  1. #export LANG=C
  2. #tail -1 /etc/adjtime
  3. LOCAL
  4. #date -R
  5. Sun,09Nov201419:32:12+0800
  6. #hwclock
  7. SunNov919:32:132014-0.725862 seconds
  8. #hwclock --localtime
  9. SunNov919:32:142014-0.995411 seconds //BIOS里面存的是LOCAL本地时间

四、Windows和Linux双系统造成时间问题

有很多人安装了双系统Linux+Windows会发现其中一个系统时间不准。

这是因为Windows默认不使用UTC,需要将Linux中的UTC关闭。

当然网上有人修改windows的注册表将UTC打开,也是一样的,但我没试过。

五、改动UTC造成的问题

可能存在如下情况,

  1. 原系统设置是 “UTC=yes”,重装了系统之后采用了”UTC=no”或者相反的操作。
  2. 将操作系统设置“UTC=yes”的磁盘,插入原先操作系统”UTC=no”的服务器并采用新插入盘启动。

这些情况都可能会导致时间不一致。

解决办法是用ntpdate同步网络时间,并写入硬件BIOS。

比较混乱的情况下还要指定把哪个时间写入BIOS(尚未测试)

  1. hwclock --systohc --localtime //将LOCAL时间写入BIOS。适用于UTC=no
  2. hwclock --systohc --utc //将UTC时间写入BIOS,适用于UTC=yes

相关推荐

F5负载均衡器如何通过irules实现应用的灵活转发?

F5是非常强大的商业负载均衡器。除了处理性能强劲,以及高稳定性之外,F5还可以通过irules编写强大灵活的转发规则,实现web业务的灵活应用。irules是基于TCL语法的,每个iRules必须包含...

映射域名到NAS

前面介绍已经将域名映射到家庭路由器上,现在只需要在路由器上设置一下端口转发即可。假设NAS在内网的IP是192.168.1.100,NAS管理端口2000.你的域名是www.xxx.com,配置外部端...

转发(Forward)和重定向(Redirect)的区别

转发是服务器行为,重定向是客户端行为。转发(Forward)通过RequestDispatcher对象的forward(HttpServletRequestrequest,HttpServletRe...

SpringBoot应用中使用拦截器实现路由转发

1、背景项目中有一个SpringBoot开发的微服务,经过业务多年的演进,代码已经累积到令人恐怖的规模,亟需重构,将之拆解成多个微服务。该微服务的接口庞大,调用关系非常复杂,且实施重构的人员大部分不是...

公司想搭建个网站,网站如何进行域名解析?

域名解析是将域名指向网站空间IP,让人们通过注册的域名可以方便地访问到网站的一种服务。IP地址是网络上标识站点的数字地址,为方便记忆,采用域名来代替IP地址标识站点地址。域名解析就是域名到IP地址的转...

域名和IP地址什么关系?如何通过域名解析IP?

一般情况下,访客通过域名和IP地址都能访问到网站,那么两者之间有什么关系吗?本文中科三方针对域名和IP地址的关系和区别,以及如何实现域名与IP的绑定做下介绍。域名与IP地址之间的关系IP地址是计算机的...

分享网站域名301重定向的知识

网站域名做301重定向操作时,一般需要由专业的技术来协助完成,如果用户自己在维护,可以按照相应的说明进行操作。好了,下面说说重点,域名301重定向的操作步骤。首先,根据HTTP协议,在客户端向服务器发...

NAS外网到底安全吗?一文看懂HTTP/HTTPS和SSL证书

本内容来源于@什么值得买APP,观点仅代表作者本人|作者:可爱的小cherry搭好了NAS,但是不懂做好网络加密,那么隐私泄露也会随时发生!大家好,这里是Cherry,喜爱折腾、玩数码,热衷于分享数...

ForwardEmail免费、开源、加密的邮件转发服务

ForwardEmail是一款免费、加密和开源的邮件转发服务,设置简单只需4步即可正常使用,通过测试来看也要比ImprovMX好得多,转发近乎秒到且未进入垃圾箱(仅以Mailbox.org发送、Out...

使用CloudFlare进行域名重定向

当网站变更域名的时候,经常会使用域名重定向的方式,将老域名指向到新域名,这通常叫做:URL转发(URLFORWARDING),善于使用URL转发,对SEO来说非常有用,因为用这种方式能明确告知搜索引...

要将端口5002和5003通过Nginx代理到一个域名上的操作笔记

要将端口5002和5003通过Nginx代理到域名www.4rvi.cn的不同路径下,请按照以下步骤配置Nginx:步骤说明创建或编辑Nginx配置文件通常配置文件位于/etc/nginx/sites...

SEO浅谈:网站域名重定向的三种方式

在大多数情况下,我们输入网站访问网站的时候,很难发现www.***.com和***.com的区别,因为一般的网站主,都会把这两个域名指向到同一网站。但是对于网站运营和优化来说,www.***.com和...

花生壳出现诊断域名与转发服务器ip不一致的解决办法

出现诊断域名与转发服务器ip不一致您可以:1、更改客户端所处主机的drs为223.5.5.5备用dns为119.29.29.29;2、在windows上进入命令提示符输入ipconfig/flush...

涨知识了!带你认识什么是域名

1、什么是域名从技术角度来看,域名是在Internet上解决IP地址对应的一种方法。一个完整的域名由两个或两个以上部分组成,各部分之间用英文的句号“.”来分隔。如“abc.com”。其中“com”称...

域名被跳转到其他网站是怎么回事

当你输入域名时被跳转到另一个网站,这可能是由几种原因造成的:一、域名可能配置了域名转发服务。无论何时有人访问域名,比如.com、.top等,都会自动重定向到另一个指定的URL,这通常是在域名注册商设...

取消回复欢迎 发表评论: