显示时间是个常用的命令,在写shell脚本中也经常会用到与日期相关文件名或时间显示。无论是Linux还是windows下都是date命令。
Linux下date命令用法
date[OPTION][+FORMAT]
date[-u|--utc|--universal][MMDDhhmm[[CC]YY][.ss]]
date命令参数
-d,–date=STRING显示STRING指定的时间
-f,–file=DATEFILE类似–date参数显示DATEFILE文件中的每行时间
-ITIMESPEC,–iso-8601[=TIMESPEC]以ISO8601格式显示日期/时间。TIMESPEC为date(只显示日期)、hours、minutes、senconds(显示时间精度)之一,默认为date。
-r,–reference=FILE显示文件的最后修改时间
-R,–rfc-2822以RFC-2822兼容日期格式显示时间
-s,–set=STRING设置时间为STRING
-u,–utc,–universal显示或设定为CoordinatedUniversalTime时间格式
date命令输出显示格式
%%字符%
%a星期的缩写(Sun..Sat)
%A星期的完整名称(Sunday..Saturday)
%b月份的缩写(Jan..Dec)
%B月份的完整名称(January..December)
%c日期时间(SatNov0412:02:33EST1989)
%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)
%pAMorPM
%Pamorpm
%r12小时制时间(hh:mm:ss[AP]M)
%R24小时制时间(hh:mm)
%s从00:00:001970-01-01UTC开始的秒数
%S秒(00..60)
%t制表符
%T24小时制时间(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)
%zRFC-2822风格数字格式时区(-0500)
%Z时区(e.g.,EDT),无法确定时区则为空
以下是做的一些实验,便于理解
$date-d"2010-11-1523:00:01"MonNov1523:00:01PST2010$date-d"2010/11/1523:0:2"MonNov1523:00:02PST2010$date-d"2010/11/15T23:0:2"MonNov1508:00:02PST2010$$echo"2010-11-1523:00:01">date.txt$echo"2010/11/1523:00:02">>date.txt$catdate.txt2010-11-1523:00:012010/11/1523:00:02$date-fdate.txtMonNov1523:00:01PST2010MonNov1523:00:02PST2010$$ls-ltotal4-rw-r--r--1znansybase40Nov1521:14date.txt$date-rdate.txtMonNov1521:14:36PST2010$$date-I2010-11-15$date-Ihours2010-11-15T21-0800$date-Iminutes2010-11-15T21:16-0800$date-Iseconds2010-11-15T21:16:24-0800$$date-RMon,15Nov201021:47:08-0800$date-uTueNov1605:47:13UTC2010$$date+"Todayis%A."TodayisMonday.$date+"Date:%b.%e,%G"Date:Nov.15,2010$date+"Date:%b.%e,%G"Date:Nov.15,2010$date+"%x%X"11/15/201009:50:21PM$date+"%Y-%m-%d%H:%M:%S"2010-11-1521:51:32$date+"%Y-%m-%d%I:%M:%S%p"2010-11-1509:51:55PM