Shell 脚本的时间的加减,以及时间差的计算
Shell 腳本時候,遇到的時間處理問題。時間的加減,以及時間差的計算。
1。時間加減
?
這里處理方法,是將基礎的時間轉變為時間戳,然后,需要增加或者改變時間,變成 秒。
?
如:1990-01-01 01:01:01 加上 1小時 20分
?
處理方法:
?
a.將基礎時間轉為時間戳
?
time1=$(date?+%s?-d?'1990-01-01 01:01:01')
echo?$time1
?
631126861 【時間戳】
?
b.將增加時間變成秒
?
[root?localhost?~]# time2=$((1*60*60+20*60))
[root?localhost?~]# echo $time2
?
4800
?
c.兩個時間相加,計算出結果時間
?
time1=$(($time1+$time2))
time1=$(date?+%Y-%m-%d\?%H:%M:%S?-d?"1970-01-01 UTC $time1 seconds");
echo?$time1
?
1990-01-01 02:21:01
?
2。時間差計算方法
?
如:2010-01-01 與 2009-01-01 11:11:11 時間差
?
原理:同樣轉成時間戳,然后計算天,時,分,秒
?
time1=$(($(date?+%s?-d?'2010-01-01')?-?$(date?+%s?-d?'2009-01-01 11:11:11')));
echo?time1
?
將time1 / 60 秒,就變成分了。
?
補充說明:
?
shell 單括號運算符號:
?
a=$(date);
?
等同于:a=date;
?
雙括號運算符:
?
a=$((1+2));
echo $a;
?
等同于:
?
a=expr 1 + 2
轉自:良許
總結
以上是生活随笔為你收集整理的Shell 脚本的时间的加减,以及时间差的计算的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用sqoop将HIVE中的数据输出带M
- 下一篇: HOL中的四种排序,Order By、S