簡體   English   中英

在bash中獲取自定義日期值的EPOCH時間

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM