计算机时钟
我们通常接触的计算机时钟包括两种:第一,系统时间;第二,硬件时钟(RTC "Real Time Clock")。
系统时间:顾名思义就是操作系统使用的时间,是操作系统的kernel 所用来计算时间的时钟.
查询:date -d now '+%Y-%m-%d %H:%M:%S'
修改:date -s '2015-02-03 15:17:41'
硬件时钟:是指嵌在主板上的特殊的电路, 它的存在就是平时我们关机之后还可以计算时间的原因。
查询:$ hwclock --show
修改:$ hwclock --set --date="yyyy-mm-dd hh:mi:ss"
在Linux下,系统时间在开机的时候会和硬件时间同步(synchronization),之后也就各自独立运行了,两个时钟独自运行,那么时间久了必然就会产生误差了,此时应该就两者之间的时钟进行同步:
将系统时间同步为硬件时间:$ hwclock --systohc
将硬件时间同步为系统时间:$ hwclock --hctosys
所以修改系统时间后必须同步硬件时间,否则下次重启,时间又会显示不正确
查看系统时间和时区 caoming@caoming:~$ date -R Mon, 25 Feb 2019 10:12:52 +0800 #东八区 caoming@caoming:~$ tzselect #时区修改,这里先生成/usr/share/zoneinfo/Asia/Shanghai文件 Please identify a location so that time zone rules can be set correctly. Please select a continent, ocean, "coord", or "TZ". 1) Africa 2) Americas 3) Antarctica 4) Asia 5) Atlantic Ocean 6) Australia 7) Europe 8) Indian Ocean 9) Pacific Ocean 10) coord - I want to use geographical coordinates. 11) TZ - I want to specify the time zone using the Posix TZ format. #? 4 Please select a country whose clocks agree with yours. 1) Afghanistan 18) Israel 35) Palestine 2) Armenia 19) Japan 36) Philippines 3) Azerbaijan 20) Jordan 37) Qatar 4) Bahrain 21) Kazakhstan 38) Russia 5) Bangladesh 22) Korea (North) 39) Saudi Arabia 6) Bhutan 23) Korea (South) 40) Singapore 7) Brunei 24) Kuwait 41) Sri Lanka 8) Cambodia 25) Kyrgyzstan 42) Syria 9) China 26) Laos 43) Taiwan 10) Cyprus 27) Lebanon 44) Tajikistan 11) East Timor 28) Macau 45) Thailand 12) Georgia 29) Malaysia 46) Turkmenistan 13) Hong Kong 30) Mongolia 47) United Arab Emirates 14) India 31) Myanmar (Burma) 48) Uzbekistan 15) Indonesia 32) Nepal 49) Vietnam 16) Iran 33) Oman 50) Yemen 17) Iraq 34) Pakistan #? 9 Please select one of the following time zone regions. 1) Beijing Time 2) Xinjiang Time #? 1 The following information has been given: China Beijing Time Therefore TZ='Asia/Shanghai' will be used. Local time is now: 2019年 02月 25日 星期一 10:13:36 CST. Universal Time is now: 2019年 02月 25日 星期一 02:13:36 UTC. Is the above information OK? 1) Yes 2) No #? 1 You can make this change permanent for yourself by appending the line TZ='Asia/Shanghai'; export TZ to the file '.profile' in your home directory; then log out and log in again. Here is that TZ value again, this time on standard output so that you can use the /usr/bin/tzselect command in shell scripts: Asia/Shanghai #复制文件到/etc目录下 caoming@caoming:~$ cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
hwclock相关参数:
-r, --show read hardware clock and print result
--get read hardware clock and print drift corrected result
--set set the RTC to the time given with --date
-s, --hctosys set the system time from the hardware clock
-w, --systohc set the hardware clock from the current system time

浙公网安备 33010602011771号