[英]Getting the EPOCH time for a custom date values in bash
我需要編寫一個bash函數來為將來的自定義日期返回EPOCH時間。
我以格式使用日期和時間;
date=20130122 # i.e. 2013 01 22
time=1455 # i.e. 14:55
我能用這些值獲得EPOCH時間嗎?
有誰知道解決方案?
date -d "$date $time" +%s
可以在GNU日期工作。
對於BSD date
(包含在Mac OS X中),命令將是
date -j -f "%Y%m%d %H%M" "$date $time" +%s
(需要-f
來解析給定的日期和時間;默認格式需要“012214552013”來指定相同的時間)
簡短回答:
date --date "20130122 1455" +%s
這將為您提供紀元日期。
或者,如果您使用變量,只需替換日期和時間,如下所示:
d=20130122
t=1455
date --date "$d $t" +%s
並盡量避免使用“日期”和“時間”作為變量名,因為它們很容易被誤解為命令(它們都是有效的命令)。 這樣可以提高可讀性。
偶然發現了這個。 在BASH 3.2中,我收到“無效日期”錯誤。 應該:
date -d "2013-01-22 14:55" +%s
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.