时区日期时间
Linux 中有两种时间,一个是系统时间(软件时间),使用date 查看;另一个是硬件时间,就是主板的时间,使用clock查看
1 date 显示和设置系统时间
显示日期时间的命令格式:date [OPTION]… [+FORMAT]
FORMAT 格式说明
%F:日期,显示为数字,格式为 2020-07-03
%D:英制格式,月日年,格式为 03/07/20
%T:时间,显示为数字,格式为 15:54:16
%Y:年份,显示为完整年份数字,格式为 2020
%m:月份,显示为数字,格式为 07
%d:日期,显示为数字,格式为 03
%H:时分,显示为数字,格式为 (00..23):15
%k:小时,24小时制,格式为 00..23
%i:小时,12小时制,格式为 01..12
%I:小时,12小时制,格式为 1..12
%M:分钟,显示为数字,格式 52
%S:秒钟,显示为数字,格式 16
%y:年份,显示年份后两位数字,格式为 20
%h:月份,格式为 3月
%a:缩写星期
%A:完整星期
%b:缩写月份
%B:完整月份
%r:格式为 10:35:03 AM
%R:等同于%H%M ,格式为 22:09
%s:从1970年1月1日至此时所经历的秒数,timestamp格式:1595732382
设置时间的格式:date [MMDDhhmm[[CC]YY]][.SS]
其中 MM-月份,DD-日期,hh-小时,mm-分钟,CC-年份的前两个数字,YY-年份的后两个数字,.ss-秒钟(点号不可省略)
范例:
#显示当前日期(默认格式)
[root@centos8 ~]#date
Sun Jul 26 11:05:45 CST 2020
#以yyyy-MM-dd 的格式显示当前日期
[root@centos8 ~]#date +%F
2020-07-26
#以yyyy-MM-dd hh:mm:ss 的格式显示当前日期
[root@centos8 ~]#date "+%F %T"
2020-07-26 11:06:24
#以yyyy-MM-dd 的格式显示当前日期的昨天
[root@centos8 ~]#date -d '-1 day' +%F
2020-07-25
# 设置当前日期为2021年1月2日3点4分20秒
[root@centos8 ~]#date 010203042021.20
Sat Jan 2 03:04:20 CST 2021
#设置当前日期为去年的今天
[root@centos8 ~]#date -s '-1 year' +%F
2020-01-02
[root@centos8 ~]#date
Thu Jan 2 03:04:39 CST 2020
#获取时间戳
[root@centos8 ~]#date -d "last week" +%s
1581241046
[root@centos8 ~]#date +%s
1581845855
其他常用范例
一段时间内的几分钟前
[root@centos8 ~]#date +%d/%b/%Y:%H:%M:%S; date -d "2 minute ago" | awk '{print "0"$3"/"$2"/"$NF":"$4}'
26/Jul/2020:11:32:53
26/Jul/2020:11:30:53
一小时前:
date -d “last-hour”
date -d “last-hours”
date -d “1 hour ago”
date -d “1 hours ago”
一小时后:
date -d “1 hour”
date -d “1 hours”
一分钟前:
date -d “1 minute ago”
date -d “1 minutes ago”
一分钟后:
date -d “1 minute”
date -d “1 minutes”
一秒前:
date -d “1 second ago”
date -d “1 seconds ago”
一秒后:
date -d “1 second”
date -d “1 seconds”
2 timezone 查看/设置时区(不支持CentOS6)
#列出支持的时区
[root@centos8 ~]#timedatectl list-timezones
#设置时区,Asia/Shanghai 是系统里支持的时区
[root@centos8 ~]#timedatectl set-timezone Asia/Shanghai
#查看当前的时区
[root@centos8 ~]#timedatectl status
3 clock 或hwclock 显示或设置硬件时间
显示硬件时间格式:clock/hwclock
常用参数
-s 或 --hctosys :以硬件时间为准,校准系统时间
-w 或 --systohc :以系统时间为准,校准硬件时间
#不准确的系统时间
[root@centos8 ~]#date
Thu Jan 2 03:04:39 CST 2020
#准确的硬件时间
[root@centos8 ~]#clock
2020-07-26 11:13:23.475122+08:00
[root@centos8 ~]#hwclock
2020-07-26 11:15:24.305730+08:00
#硬件时间和系统时间比较
[root@centos8 ~]#clock;date
2020-07-26 11:13:31.007990+08:00
Thu Jan 2 03:10:04 CST 2020
#以硬件时间为准,校准系统时间
[root@centos8 ~]#clock -s
[root@centos8 ~]#clock;date "+%F %T"
2020-07-26 11:14:11.321283+08:00
2020-07-26 11:14:12
4 cal 日历命令,显示日历(没有农历)
# 默认显示当月
[root@centos8 ~]#cal
July 2020
Su Mo Tu We Th Fr Sa
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
#显示2020年全年
[root@centos8 ~]#cal 2020
#显示指定年月
[root@centos8 ~]#cal 9 2020
September 2020
Su Mo Tu We Th Fr Sa
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30