我需要编写一个 bash 函数来返回自定义日期的 EPOCH 时间。
我在格式中使用日期和时间;
date=20130122 # i.e. 2013 01 22
time=1455 # i.e. 14:55
我可以使用这些值获得 EPOCH 时间吗?
有谁知道解决方案?
我需要编写一个 bash 函数来返回自定义日期的 EPOCH 时间。
我在格式中使用日期和时间;
date=20130122 # i.e. 2013 01 22
time=1455 # i.e. 14:55
我可以使用这些值获得 EPOCH 时间吗?
有谁知道解决方案?
date -d "$date $time" +%s
可以在 GNU date 中工作。
对于 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