linux操作系统的时间

匿名 (未验证) 提交于 2019-12-02 21:56:30

参考:http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=3637782
linux平台中有硬件时钟与系统时钟两种时钟,一个是由主板电池驱动的“Real Time Clock”也叫做RTC或者叫CMOS时钟,硬件时钟。当操作系统关机的时候,用这个来记录时间,但是对于运行的系统是不用这个时间的。另一个时间是 “System clock”也叫内核时钟或者软件时钟,是由软件根据时间中断来进行计数的,内核时钟在系统关机的情况下是不存在的,所以,当操作系统启动的时候,内核时钟是要读取RTC时间来进行时间同步。

date命令:以指定的形式显示时间或者设定系统时间。

用法:date [选项]... [+格式]  或:date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] 以给定的格式显示当前时间,或是设置系统日期。    -d,--date=字符串     显示指定字符串所描述的时间,而非当前时间   -f,--file=日期文件        类似--date,从日期文件中按行读入时间描述   -r, --reference=文件        显示文件指定文件的最后修改时间   -R, --rfc-2822        以RFC 2822格式输出日期和时间                 例如:2006年8月7日,星期一 12:34:56 -0600       --rfc-3339=TIMESPEC   以RFC 3339 格式输出日期和时间。                 TIMESPEC=`date',`seconds',或 `ns'                  表示日期和时间的显示精度。                 日期和时间单元由单个的空格分开:                 2006-08-07 12:34:56-06:00   -s, --set=字符串             设置指定字符串来分开时间   -u, --utc, --universal    输出或者设置协调的通用时间       --help        显示此帮助信息并退出       --version     显示版本信息并退出

date -d 20170301 +“%A %B”
运行结果:星期三 三月

date -f /home/sifang/time.txt +"%A %B"
运行结果:
星期三 三月
星期二 六月

date +"%A%B"
运行结果:星期二六月

date -r filename

date -s 20190611设置系统时间为2019年6月11时0点0分0秒
date -s 17:55:55设置系统时间为17点55分55秒
date -s "20190611 17:55:55"设置系统日期和时间
date -s "2019-06-11 17:00:00"设置系统日期和时间

date +%Y%m%d --date="-1 day"显示前一天的日期
date +%Y%m%d --date="+1 day"显示后一年的日期
date +%Y%m%d --date="-2 month"显示前两个月的日期

hwclock 设置和显示硬件时间(一般只有root用户才有权限)

-r, --show         读取并打印硬件时钟(read hardware clock and print result ) -s, --hctosys      将硬件时钟同步到系统时钟(set the system time from the hardware clock ) -w, --systohc     将系统时钟同步到硬件时钟(set the hardware clock to the current system time )  --adjust  hwclock每次更改硬件时钟时,都会记录在/etc/adjtime文件中。使用--adjust参数,可使hwclock根据先前的记录来估算硬件时钟的偏差,并用来校正目前的硬件时钟。  --debug  显示hwclock执行时详细的信息。  --directisa  hwclock预设从/dev/rtc设备来存取硬件时钟。若无法存取时,可用此参数直接以I/O指令来存取硬件时钟。  --hctosys  将系统时钟调整为与目前的硬件时钟一致。  --set --date=<日期与时间>  设定硬件时钟。  --show  显示硬件时钟的时间与日期。  --systohc  将硬件时钟调整为与目前的系统时钟一致。  --test  仅测试程序,而不会实际更改硬件时钟。  --utc  若要使用格林威治时间,请加入此参数,hwclock会执行转换的工作。  --version  显示版本信息。

hwclock -r或者hwclock

hwclock --set --date "2019-04-05 11:11:11"

hwclock -s

hwclock -w

读取时区:date -Rdate +"%Z %z"
timedatectl |grep "Timezone"

系统--日期与时间设置--时区或者执行system-config-date打开(实际设置的是/etc/sysconfig/clock文件)

执行命令ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime(立即生效)
/usr/share/zoneinfo目录存放时区相关文件。

执行tzselect,依据提示设置TZ环境变量。
TZ='Asia/Shanghai'; export TZ

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!