闲话少说,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命令做日期的计算了