shell 脚本 时间

date +%Y%m%d -d "2 day ago" 
date +%Y%m%d -d "2 week ago" 
date +%Y%m%d -d "2 month ago" 
date +%Y%m%d -d "2 year ago" 
date -d "yesterday" 


昨天的命令是: 
yesterdayformat=`date --date='yesterday' "+%Y-%m-%d_%H:%M:%S"` 
echo $yesterdayformat 
输出格式是: 
2006-03-30_08:39:54 

明天的命令是: 
tomorrowformat=`date --date='tomorrow' "+%Y-%m-%d_%H:%M:%S"` 
echo $tomorrowformat 
输出格式是: 
2006-04-01_08:41:29 

在Linux下,得到N天以前或以后的日期格式: 
#date –I –d ‘-n day’   (可以得到N天前的日期,格式为YYYY-MM-DD) 
#date –d ‘-n day’ “+%Y%m%d”       (可以得到你天前的日期,格式为YYYYMMDD) 
#date –I –d ‘+n day’   (可以得到N天后的日期,格式为YYYY-MM-DD) 
#date –d ‘+n day’ “+%Y%m%d”       (可以得到你天后的日期,格式为YYYYMMDD) 

CURTIME=`date +"%Y-%m-%d %H:%M:%S"` #当前的系统时间 2007-10-04 14:34:00 
LASTLINE=$(tail -1 success.moni) #获取文件的最后时间 2007-10-04 14:30:00 
echo "lasttime "$LASTLINE  
echo "Systime "$CURTIME 
Sys_data=`date -d   "$CURTIME" +%s` #把当前时间转化为Linux时间 
In_data=`date -d   "$LASTLINE" +%s` 
interval=`expr $Sys_data - $In_data`   #计算2个时间的差 
echo $In_data 
echo $Sys_data 
echo $interval 
if [ $interval -gt 600 ] ; then 
echo "need   restart" 
exit 0 
fi 

echo "need't restart"
 
 
 
date命令   


  date命令的功能是显示和设置系统日期和时间。   


  该命令的一般格式为:   date   [选项]   显示时间格式(以+开头,后面接格式)   


  date   设置时间格式   


  命令中各选项的含义分别为:   


  -d   datestr,   --date   datestr   显示由datestr描述的日期   


  -s   datestr,   --set   datestr   设置datestr   描述的日期   


  -u,   --universal   显示或设置通用时间   


  时间域   


  %   H   小时(00..23)   


  %   I   小时(01..12)   


  %   k   小时(0..23)   


  %   l   小时(1..12)   


  %   M   分(00..59)   


  %   p   显示出AM或PM   


  %   r   时间(hh:mm:ss   AM或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   日期和时间(   Mon   Nov   8   14:12:46   CST   1999)   


  %   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   ‘+This   date   now   is   => %x   ,time   is   now   => %X   ,thank   you   !’   


  This   date   now   is   => 11/12/99   ,time   is   now   => 17:53:01   ,thank   you   !   


  例2:用预定的格式显示当前的时间。   


  #   date   


  Fri   Nov   26   15:20:18   CST   1999   


  例3:设置时间为下午14点36分。   


  #   date   -s   14:36:00   


  Fri   Nov   26   14:15:00   CST   1999   


  例4:设置时间为1999年11月28号。   


  #   date   -s   991128   


  Sun   Nov   28   00:00:00   CST   1999  
posted @ 2011-06-18 17:42  astroboyx  阅读(361)  评论(0编辑  收藏  举报