linux localtime,linux获取毫秒时间戳命令
各位老铁们好,相信很多人对linux localtime都不是特别的了解,因此呢,今天就来为大家分享下关于linux localtime以及linux获取毫秒时间戳命令的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!
Linux中gmtime和localtime的区别
格林威治时间,也就是格林威治天文台的时间,这个是世界标准时。本初子午线就是画在了格林威治天文台所在的经度上。
这个时间不管你在什么地方,都是一样的。因为格林威治天文台是不会乱窜的。
localtime是本地时间。这个本地时间,就是看这个地方所在的时区。
时间是午夜为 00点 00分。所以格林威治时间,就是格林威治午夜定为 00点 00分。
但是因为地球是圆的,别的地方如果使用格林威治的午夜定位 00点 00分,就会出现太阳在不同位置的问题。比如格林威治午夜 00:00,新西兰正值中午
所以地球上划分了 24个时区,每个时区相差一个小时(国际日期变更线两边相差 24小时)。各个地方都把自己所在时区当作本地时间.当然并不一定非要按照自己在什么地方就用什么时间,比如中国就是同一+8 GMT(也就是格林威治时间+8小时),新疆就算不在+8 GMT这个区域上也用北京一样的时间,便于时间统一。
这就是两个的区别。
linux的/etc/sysconfig/clock和/etc/localtime有什么区别
1)/etc/sysconfig/clock文件,只对 hwclock
命令有效,且只在系统启动和关闭的时候才有用(修改了其中的 UTC=true到 UTC=false的前后,执行 hwclock(--utc,
或--localtime)都没有变化,要重启系统后才生效);
在/etc/sysconfig/clock中 UTC=false时,date、hwclock、hwclcok--localtime输出的时间应该都一致,且此时 hwclock--utc是没有意义的;
在/etc/sysconfig/clock中 UTC=ture时,date、hwclock的输出是一致的,hwclock--localtime的输出则是UTC时间;
系统关闭时会同步系统时间到硬件时钟,系统启动时会从硬件时钟读取时间更新到系统,这2个步骤都要根据/etc/sysconfig/clock文件中UTC的参数来设置时区转换。
2)./etc/localtime
这个文件用来设置系统的时区,将
/usr/share/zoneinfo/中相应文件拷贝到/etc下并重命名为 localtime即可修改时区设置,而且这种修改对 date
命令是及时生效的。不论是 date还是 hwclock都会用到这个文件,会根据这个文件的时区设置来进行UTC和本地之间之间的换算。
linux 怎么设置硬件时钟 UTC
一、首先要弄清几个概念:
1.“系统时间”与“硬件时间”
系统时间:一般说来就是我们执行 date命令看到的时间,linux系统下所有的时间调用(除了直接访问硬件时间的命令)都是使用的这个时间。
硬件时间:主板上BIOS中的时间,由主板电池供电来维持运行,系统开机时要读取这个时间,并根据它来设定系统时间(注意:系统启动时根据硬件时间设定系统时间的过程可能存在时区换算,这要视具体的系统及相关设置而定)。
2.“UTC时间”与“本地时间”
UTC时间:Coordinated Universal 8 e2 i( H7 t0 ^/ ^Time世界协调时间(又称世界标准时间、世界统一时间),在一般精度要求下,它与GMT(Greenwich Mean Time,格林威治标准时间)是一样的,其实也就是说 GMT≈UTC,但 UTC是以原子钟校准的,更精确。
本地时间:由于处在不同的时区,本地时间一般与UTC是不同的,换算方法就是
本地时间= UTC+时区或 UTC=本地时间-时区
时区东为正,西为负,例如在中国,本地时间都使用北京时间,在linux上显示就是 CST(China Standard Time,中国标准时,注意美国的中部标准时Central Standard Time也缩写为CST,与这里的CST不是一回事!),时区为东八区,也就是+8区,所以 CST=UTC+(+8小时)或 UTC=CST-(+8小时)。
二、设置硬件时钟 UTC
硬件时间/sbin/hwclock
直接调用/sbin/hwclock显示的时间就是 BIOS中的时间吗?未必!这要看/etc/sysconfig/clock中是否启用了UTC,如果启用了UTC(UTC=true),显示的其实是经过时区换算的时间而不是BIOS中真正的时间,如果加上--localtime选项,则得到的总是 BIOS中实际的时间.
[12-01 19:07>~]# hwclock
2009年12月07日星期一 14时28分43秒-0.611463 seconds
[12-01 19:07>~]# hwclock--utc
2009年12月07日星期一 14时28分46秒-0.594189 seconds
[12-01 19:07>~]# hwclock--localtime
2009年12月07日星期一 06时28分50秒-0.063875 seconds
三、最后总结
1)/etc/sysconfig/clock文件,只对 hwclock命令有效,且只在系统启动和关闭的时候才有用(修改了其中的 UTC=true到 UTC=false的前后,执行 hwclock(--utc,或--localtime)都没有变化,要重启系统后才生效);
2)/etc/rc.d/rc.sysinit文件,run once at boot time,其中有从硬件时钟同步时间到系统时间的操作;
3)hwclock--localtime的输出,才是硬件时钟真正的时间。如果输出结果带时区(比如CST),还要看/etc/sysconfig/clock里的UTC参数,如果 UTC=false,那时区有意义;如果 UTC=true,那时区没意义,实际上是UTC时间。
4)在/etc/sysconfig/clock中 UTC=false时,date、hwclock、hwclcok--localtime输出的时间应该都一致,且此时 hwclock--utc是没有意义的;
5)在/etc/sysconfig/clock中 UTC=ture时,date、hwclock的输出是一致的,hwclock--localtime的输出则是UTC时间;
6)如果不想在输出中带时区,则 export LANG=C,然后再运行 hwclock就没有什么CST了,免得时区误导你;
7)hwclock--utc容易理解出错
8)系统关闭时会同步系统时间到硬件时钟,系统启动时会从硬件时钟读取时间更新到系统,这2个步骤都要根据/etc/sysconfig/clock文件中UTC的参数来设置时区转换。