您的位置:首页 > 运维架构 > Shell

Shell脚本中date的用法小结

2013-09-26 00:00 148 查看
 操作系统中时间管理是很重要的,也是很复杂的,首先要处理每个月不同的天数,每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命令做日期的计算了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐