如何轉換日期HH:MM:SS在bash中秒?如何將日期HH:MM:SS換成bash?
知道這是我在文件中恢復的日期,所以我不能以另一種格式表示。
我有兩個變量$ DateStart和$ DateEnd,我想兩者之間的區別。
如何轉換日期HH:MM:SS在bash中秒?如何將日期HH:MM:SS換成bash?
知道這是我在文件中恢復的日期,所以我不能以另一種格式表示。
我有兩個變量$ DateStart和$ DateEnd,我想兩者之間的區別。
date +%s
返回以秒爲當前日期時間,因爲1970-01-01 00:00:00 UTC
如果你想在幾秒鐘內給定的日期時間,因爲1970-01-01 00:00:00UTC,例如:
kent$ date -d"2008-08-08 20:20:20" +%s
1218219620
得到DIFF在幾秒鐘內,你只是在數秒內獲得兩個日期,並做了s1-s2
假設在HH時間:MM:SS格式是可變需要被存儲在和時間 秒:
IFS=: read -r h m s <<<"$time_hhmmss"
time_s=$(((h * 60 + m) * 60 + s))
嘗試使用我的解決方案使用sed + awk的:
echo $DateStart | sed 's/:\|-/ /g;' | awk '{print $4" "$3" "$2" "$1}' | awk '{print $1+$2*60+$3*3600+$4*86400}'
echo $DateEnd | sed 's/:\|-/ /g;' | awk '{print $4" "$3" "$2" "$1}' | awk '{print $1+$2*60+$3*3600+$4*86400}'
它分裂與SED的字符串,然後反轉向下的數字( 「DD hh mm ss」 - >「ss mm hh DD」)並用awk計算它們。 它的工作原理,即使你加天:[DD-] HH:] MM:SS,例如:
34:56 12:34:56 123-12:34:56
在Mac上可以將日期轉換到另一個日期與-j
的組合和-f
選項:
$ date -j -f '%Y-%m-%d %H:%M:%S' "2016-02-22 20:22:14" '+%s'
1456168934
凡-j
抑制改變系統時鐘, -f <fmt>
給用於解析給定的日期格式, "2016-02-22 20:22:14"
是輸入日期, +<fmt>
是輸出格式。
請注意,如果時間戳不包含日期,那麼應該爲它們提供'date'。否則,如果只有時間過去了,「日期」將假設今天和午夜兩側計算的時間將會有額外的24小時差異。 – spbnick 2013-05-07 08:48:56
感謝它的工作,我開始= $(日期-d「$ DateStart」+%s)和結束= $(日期-d「$ DateEnd」+%s)和時間= $(結束開始)之後。 – MaxGeneGrim 2013-05-07 09:29:34