linux系统有两个时间,一个是系统时间,通过内核模拟出来的时间,一个是硬件时间,通过读取BIOS的时间,使用date查看的是系统时间,使用clock或者hwclock查看的是硬件时间

date、clock、hwclock时间命令解释_linux


date命令有很多参数选项,一一举例

date修改时间

格式:date mmddHHMM

格式:date mmddHHMMYYYY

格式:date mmddHHMM.SS

格式:date mmddHHMMYYYY.SS

date、clock、hwclock时间命令解释_linux_02


date -d  按照你指定的格式显示内容

格式:date -d STRING

格式:date --date=STRING

格式:date -d STRING +FORMAT

date、clock、hwclock时间命令解释_linux_03

STRING可谓变化多样,支持很多种日期时间的描述方式。下面列举一些常用的日期表示方式,希望能够举一反三。

指定日期:

date -d YYYY-mm-dd

指定时间,日期是今天:

date -d HH:MM:SS

指定日期时间:

date -d "YYYY-mm-dd HH:MM:SS"

指定1970年以来的秒数:

date -d '1970-01-01 1251734400 sec utc'      (2009年 09月 01日 星期二 00:00:00 CST)

date -d '1970-01-01 1314177812 sec utc'      (2011年 08月 24日 星期三 17:23:32 CST)

今天:

date

date -d today

date -d now

明天:

date -d tomorrow

date -d next-day

date -d next-days

date -d "next day"

date -d "next days"

date -d "+1 day"

date -d "+1 days"

date -d "1 day"

date -d "1 days"

date -d "-1 day ago"

date -d "-1 days ago"

昨天:

date -d yesterday

date -d last-day

date -d last-days

date -d "last day"

date -d "last days"

date -d "-1 day"

date -d "-1 days"

date -d "1 day ago"

date -d "1 days ago"

前天:

date -d "2 day ago"

date -d "2 days ago"

date -d "-2 day"

date -d "-2 days"

大前天:

date -d "3 day ago"

date -d "3 days ago"

date -d "-3 day"

date -d "-3 days"

上周,一周前:

date -d "1 week ago"

date -d "1 weeks ago"

上个星期五(不是上周五):

date -d "last-friday"

date -d "last friday"

上月,一月前:

date -d last-month

date -d last-months

date -d "-1 month"

date -d "-1 months"

下月,一月后:

date -d next-month

date -d next-months

date -d "+1 month"

date -d "+1 months"

去年,一年前:

date -d last-year

date -d last-years

date -d "-1 year"

date -d "-1 years"

明年,一年后:

date -d next-year

date -d next-years

date -d "+1 year"

date -d "+1 years"

一小时前:

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"


date -s  设置时间,安装你指定的格式

date、clock、hwclock时间命令解释_linux_04


date -f  filename  显示文件的每行时间

date、clock、hwclock时间命令解释_linux_05


date -r,--reference filename 查看文件最后一次修改时间

date、clock、hwclock时间命令解释_linux_06


date -u 显示UTC时间

date、clock、hwclock时间命令解释_linux_07


date命令输出显示格式

  • %%    字符%  

  • %a     星期的缩写(Sun..Sat)  

  • %A    星期的完整名称 (Sunday..Saturday)  

  • %b     月份的缩写(Jan..Dec)  

  • %B     月份的完整名称(January..December)  

  • %c     日期时间(Sat Nov 04 12:02:33 EST 1989)  

  • %C     世纪(年份除100后去整) [00-99]

  • %d     一个月的第几天(01..31)  

  • %D     日期(mm/dd/yy)  

  • %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), 无法确定时区则为

hwclock -w 系统时间同步到硬件

date、clock、hwclock时间命令解释_linux_08


hwclock -s 硬件时间同步到系统

date、clock、hwclock时间命令解释_linux_09