将DateTime转换为bash中的时间戳

问题描述 投票:2回答:1

我将DateTime 2019-02-03T10:17:24Z转换为时间戳。我可以使用current =“date +%s”将常规日期时间转换为时间戳

OS:MAC Bash:GNU bash,版本3.2.57(1)-release(x86_64-apple-darwin17)

我尝试使用不同的格式,但它抛出了非法的日期格式。

created="2019-02-03T10:17:24Z"
createdT=`date -j -f +%Y-%m-%dT%H:%M:%S.%3NZ $created`
bash
1个回答
0
投票

看起来你有两个问题。

  1. 用法。 -f选项在格式的开头不带加号(“+”)。
  2. 您指定的格式似乎需要GNU日期提供的纳秒值,但此值不在您的输入数据中。

注意:

$ created="2019-02-03T10:17:24Z"
$ date -j -f '%Y-%m-%dT%H:%M:%SZ' "$created" '+%s'
1549207044

请注意,使用引号是一个非常好的主意 - 您可以使用单引号,在需要扩展变量的地方加倍引号。

© www.soinside.com 2019 - 2024. All rights reserved.