2013-05-07 19 views

回答

5
date +%s 

返回以秒爲當前日期時間,因爲1970-01-01 00:00:00 UTC

如果你想在幾秒鐘內給定的日期時間,因爲1970-01-01 00:00:00

UTC,例如:

kent$ date -d"2008-08-08 20:20:20" +%s 
1218219620 

得到DIFF在幾秒鐘內,你只是在數秒內獲得兩個日期,並做了s1-s2

+0

請注意,如果時間戳不包含日期,那麼應該爲它們提供'date'。否則,如果只有時間過去了,「日期」將假設今天和午夜兩側計算的時間將會有額外的24小時差異。 – spbnick 2013-05-07 08:48:56

+1

感謝它的工作,我開始= $(日期-d「$ DateStart」+%s)和結束= $(日期-d「$ DateEnd」+%s)和時間= $(結束開始)之後。 – MaxGeneGrim 2013-05-07 09:29:34

2

假設在HH時間:MM:SS格式是可變需要被存儲在和時間 秒:

IFS=: read -r h m s <<<"$time_hhmmss" 
time_s=$(((h * 60 + m) * 60 + s)) 
0

嘗試使用我的解決方案使用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 
2

在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>是輸出格式。

相關問題