date命令
date命令的功能是显示和设置系统日期和时间。
该命令的一般格式为:date[选项]显示时间格式(以+开头,后面接格式)
date设置时间格式
命令中各选项的含义分别为:
-ddatestr,--datedatestr显示由datestr描述的日期
-sdatestr,--setdatestr设置datestr描述的日期
-u,--universal显示或设置通用时间
时间域
%H小时(00..23)
%I小时(01..12)
%k小时(0..23)
%l小时(1..12)
%M分(00..59)
%p显示出AM或PM
%r时间(hh:mm:ssAM或PM),12小时
%s从1970年1月1日00:00:00到目前经历的秒数
%S秒(00..59)
%T时间(24小时制)(hh:mm:ss)
%X显示时间的格式(%H:%M:%S)
%Z时区日期域
%a星期几的简称(Sun..Sat)
%A星期几的全称(Sunday..Saturday)
%b月的简称(Jan..Dec)
%B月的全称(January..December)
%c日期和时间(MonNov814:12:46CST1999)
%d一个月的第几天(01..31)
%D日期(mm/dd/yy)
%h和%b选项相同
%j一年的第几天(001..366)
%m月(01..12)
%w一个星期的第几天(0代表星期天)
%W一年的第几个星期(00..53,星期一为第一天)
%x显示日期的格式(mm/dd/yy)
%y年的最后两个数字(1999则是99)
%Y年(例如:1970,1996等)
需要特别说明的是,只有超级用户才能用date命令设置时间,一般用户只能用date命令显示时间。
例1:用指定的格式显示时间。
$date‘+Thisdatenowis=>%x,timeisnow=>%X,thankyou!'
Thisdatenowis=>11/12/99,timeisnow=>17:53:01,thankyou!
例2:用预定的格式显示当前的时间。
#date
FriNov2615:20:18CST1999
例3:设置时间为下午14点36分。
#date-s14:36:00
FriNov2614:15:00CST1999
例4:设置时间为1999年11月28号。
#date-s991128
SunNov2800:00:00CST1999
例5:设置一天前
date--date"1daysago"+"%Y-%m-%d"
Date命令参数小技巧
LastUpdated:2006-03-27
By:Gman!
-forbeginner:wink:此参数可以用于日志处理和时间统计;
由于Linux对mandate-d参数说的比较模糊,故举例如下:
#-d,--date=STRINGdisplaytimedescribedbySTRING,not`now'
ForLinux
[root@Gmanroot]#date-dnext-day+%Y%m%d
20060328
[root@Gmanroot]#date-dlast-day+%Y%m%d
20060326
[root@Gmanroot]#date-dyesterday+%Y%m%d
20060326
[root@Gmanroot]#date-dtomorrow+%Y%m%d
20060328
[root@Gmanroot]#date-dlast-month+%Y%m
200602
[root@Gmanroot]#date-dnext-month+%Y%m
200604
[root@Gmanroot]#date-dnext-year+%Y
2007
------------------------------------------------------------------------------
而FreeBSD则不同;举例如下:
ForFreeBSD
bash-2.05b#date-v-1d+%Y%m%d
20060326
bash-2.05b#date-v-1m+%Y%m%d
20060227
bash-2.05b#date-v-1y+%Y%m%d
20050327