shell 处理时间
$ date
Thu Jan 21 11:43:00 CST 2016
(1) 获取当前时间
$ date +%Y-%m-%d
2016-01-27
$ date "+%Y-%m-%d %H:%M:%S"
2016-01-27 17:37:31
(2) 一年中的第几天,第几周,一周中的第几天。。。
$ date +%j #一年中的第几天
027
$ date +%d #一个月中的第几天
27
$ date +%w #一周中的第几天(0(周日) --> 6(周六))
3
$ date +%U #一年中的第几周
04
(3) 前后时间,加ago就是前,没有ago就是后
$date -d '1 years ago' "+%Y-%m-%d %H:%M:%S"
2015-01-27 17:54:39
$date -d '1 months ago' "+%Y-%m-%d %H:%M:%S"
2015-12-27 17:54:45
$ date -d '1 days ago' "+%Y-%m-%d %H:%M:%S"
2016-01-26 17:51:45
$date -d '1 hours ago' "+%Y-%m-%d %H:%M:%S"
2016-01-27 16:52:29
$date -d '1 minutes ago' "+%Y-%m-%d %H:%M:%S"
2016-01-27 17:51:45
$date -d '1 seconds ago' "+%Y-%m-%d %H:%M:%S"
2016-01-27 17:52:59
(4) 比较时间
#!/bin/bash
date1="2008-4-09 12:00:00"
date2="2008-4-10 15:00:00"
t1=`date -d "$date1" +%s`
t2=`date -d "$date2" +%s`
if [ $t1 -gt $t2 ]; then
echo "$date1 > $date2"
elif [ $t1 -eq $t2 ]; then
echo "$date1 == $date2"
else
echo "$date1 < $date2"
fi