Shell脚本中date的用法小结


Shell脚本中date的用法小结
 
 操作系统中时间管理是很重要的,也是很复杂的,首先要处理每个月不同的天数,每4年有一闰年,每400年少一闰,这样才能处理星期几的问题。顺便提一下,在1752年的9月还少了11天,在Linux系统中可以用“cal”命令打印当年的年历看看。 
  闲话少说,Linux中关于系统时间的管理离不开date命令,它除了显示当前时间,还可以获取其它时间,设置时间等。 
  Linux系统的时间是以时间戳来记录的,即从1970年1月1日(00:00:00 GMT)以来的秒数,首先date可以实现字符串时间和时间戳的转换: 
 
date -d"2013-01-31 20:00:00" +%s 
 
 
即为显示指定时间的时间戳,而 
 
date -d @1359643046 +"%Y-%m-%d %H:%M:%S" 
 
 
就可以实现时间戳到字符串形式的转换。命令中-d指定时间,+指定显示时间的格式(还可以显示ns哦,用%N就可以了)。 
  再来就是其它时间了,比如我想知道1999年3月4日是星期几,这个问题也可以用date来实现: 
 
date -d "1999-3-4" +"%A" 
 
 
还可以显示500年之后的明天呢,是星期几当然也知道了: 
 
date -d"500years" 
 
 
500年前也一样: 
 
date -d"-500years" 
 
 
 
 
date -d"500years ago" 
 
 
你可以试试:
 
 
date -d"-500years ago" 
 
 
2个月3天之后可以这样写:
 
 
date -d"+2month+3day" 
 
 
  最后,设置时间只需一个参数-s就行了。
 
获取10分钟之前的时间: date --date=“10 munites ago”
        获取10天之前的时间: date --date=“10 days ago”
        获取10分钟之后的时间: date --date=“-10 munites ago”
        获取10天之后的时间: date --date=“-10 days ago”
       这样就实现了使用shell命令做日期的计算了
 

相关内容

    暂无相关文章