1.功能说明
打印或设置系统日期和时间
2.用法
date [选项] ... [+格式]
日期 [-u | --utc | - universal] [MMDDhhmm [[CC] YY] [。ss]]
3.选项
-d 显示 datestr 中所设定的时间 (非系统时间)
-f 显示DATEFILE文件中的每行时间
-r 显示文件的最后修改时间
-R 以RFC-2822兼容日期格式显示时间
-rfc-2822 以RFC-2822兼容日期格式显示时间
-s 设置时间为string
-u 显示或设定为Coordinated Universal Time时间格式
--help 显示date命令的帮助信息
--version 显示date命令的版本信息
Format参数格式:
参数 描述
%% 显示字符%
%a 星期几的缩写(Sun..Sat)
%A 星期几的完整名称(Sunday...Saturday)
%b 月份的缩写(Jan..Dec)
%B 月份的完整名称(January..December)
%c 日期与时间。只输入date指令也会显示同样的结果
%C 世纪(年份除100后去整) [00-99]
%d 日期(以01-31来表示)。
%D 日期(含年月日)。
%e 一个月的第几天 ( 1..31)
%F 日期,同%Y-%m-%d
%g 年份(yy)
%G 年份(yyyy)
%h 同%b
%H 小时(00..23)
%I 小时(01..12)
%j 一年的第几天(001..366)
%k 小时( 0..23)
%l 小时( 1..12)
%m 月份(01..12)
%M 分钟(00..59)
%n 换行
%N 纳秒(000000000..999999999)
%p AM or PM
%P am or pm
%r 12小时制时间(hh:mm:ss [AP]M)
%R 24小时制时间(hh:mm)
%s 从00:00:00 1970-01-01 UTC开始的秒数
%S 秒(00..60)
%t 制表符
%T 24小时制时间(hh:mm:ss)
%u 一周的第几天(1..7); 1 表示星期一
%U 一年的第几周,周日为每周的第一天(00..53)
%V 一年的第几周,周一为每周的第一天 (01..53)
%w 一周的第几天 (0..6); 0 代表周日
%W 一年的第几周,周一为每周的第一天(00..53)
%x 日期(mm/dd/yy)
%X 时间(%H:%M:%S)
%y 年份(00..99)
%Y 年份 (1970…)
%z RFC-2822 风格数字格式时区(-0500)
%Z 时区(e.g., EDT), 无法确定时区则为空
4.示例
1)-d参数
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
|
#获取明天的日期
date
-d next-day +%Y%m%d
#获取昨天的日期
date
-d last-day +%Y%m%d
#获取上个月的年和月
date
-d last-month +%Y%m
#获取下个月的年和月
date
-d next-month +%Y%m
#获取明年的年份
date
-d next-year +%Y
#获取10月10号的星期
date
-d
"nov 10"
#获取两个星期以后的时间
date
-d
"2 weeks"
+%F-%T-%A-%Z
#获取30天前的日期
date
-d
'30 days ago'
#获取100天前的日期和50天后的日期
date
-d
'-100 days'
+%F-%T-%A-%Z
date
-d
'50 days'
+%F-%T-%A-%Z
#格式转换
date
+%b/%d/%G -d
"2008-07-01"
Jul
/01/2008
date
+%F-%T -d
"Jul 1 21:11"
2017-07-01-21:11:00
#时间戳转换为日期时间
date
+%F-%T -d @1494237701
2017-05-08-18:01:41
#日期时间转换为时间戳
date
-d
'2017-2-22 22:14'
+%s
|
2)-s设置时间
1
2
3
4
5
|
date
//
显示当前日期
date
-s
//
设置当前时间,只有root权限才能设置,其他只能查看。
date
-s 20061010
//
设置成20061010,这样会把具体时间设置成空00:00:00
date
-s 12:23:23
//
设置具体时间,不会对日期做更改
date
-s “12:12:23 2006-10-10″
//
这样可以设置全部时间
|
3)修改时区
CST:中国标准时间(ChinaStandard Time),这个解释可能是针对RedHat Linux。
UTC:协调世界时,又称世界标准时间,简称UTC,从英文国际时间/法文协调时间”UniversalTime/Temps Cordonné”而来。中国大陆、香港、澳门、台湾、蒙古国、新加坡、马来西亚、菲律宾、澳洲西部的时间与UTC的时差均为+8,也就是UTC+8。
GMT:格林尼治标准时间(旧译格林威治平均时间或格林威治标准时间;英语:Greenwich Mean Time,GMT)是指位于英国伦敦郊区的皇家格林尼治天文台的标准时间,因为本初子午线被定义在通过那里的经线。
1
2
3
|
vim
/etc/sysconfig/clock
ZONE=
"Asia/Shanghai"
ln
-s
/usr/share/zoneinfo/Asia/Shanghai
/etc/localtime
|
4)同步硬件时钟
硬件时钟与系统时钟同步:clock --systohc 或者:hwclock --hctosys
系统时钟与硬件时钟同步:hwclock --systohc 或者:clock --systohc
1
2
3
4
5
6
|
hwclock
-s | --hctosys
set
the system
time
from the hardware clock
-w | --systohc
set
the hardware clock to the current system
time
clock
-s | --hctosys
set
the system
time
from the hardware clock
-w | --systohc
set
the hardware clock to the current system
time
|