- 论坛徽章:
- 0
|
问题是这样的,linux上date命令有如下格式化方式
昨天 (前一天)
■date --date='1 days ago' "+%Y-%m-%d"
■date -d '1 days ago' "+%Y-%m-%d"
■date -d yesterday "+%Y-%m-%d"
明天 (後一天)
■date --date='1 days' "+%Y-%m-%d"
■date -d '1 days' "+%Y-%m-%d"
■date -d tomorrow "+%Y-%m-%d"
1小時前
■date --date='1 hours ago' "+%Y-%m-%d %H:%M:%S"
1小時後
■date --date='1 hours' "+%Y-%m-%d %H:%M:%S"
1分鐘前
■date --date='1 minutes ago' "+%Y-%m-%d %H:%M:%S"
1分鐘後
■date --date='1 minutes' "+%Y-%m-%d %H:%M:%S"
1秒前
■date --date='1 seconds ago' "+%Y-%m-%d %H:%M:%S"
1秒後
■date --date='1 seconds' "+%Y-%m-%d %H:%M:%S"
我的问题,如果我想动态获得这些时间呢?
例如我想写个脚本,然后传入一个参数,获得N天(时,分,秒)的事情。
我现在的脚本是这样的 test.sh
minute_ago=10
if [ "$1" = "" ];then
echo "you don't input the minute_ago parameter,the programm will choose 10 as the default value"
else
minute_ago=$1
fi
echo "minute_ago=${minute_ago}"
time_statis=`date --date='${minute_ago} minutes ago' "+%Y/%m/%d %H:%M:%S"` echo "time_statis=${time_statis}"
我执行 ./test.sh 30
但是执行结果是
minute_ago=30
date: invalid date `"${minute_ago}" minutes ago'
time_statis=
也就是说date的格式化函数不支持外部变量传入,请问有办法处理该问题吗?
|
|