将DateTime转换为bash中的时间戳

时间:2019-02-13 12:46:02

标签: bash

我有一个DateTime 2019-02-03T10:17:24Z要转换为时间戳。 我可以使用将常规dateTime转换为时间戳 当前=“ date +%s

操作系统:MAC Bash:GNU bash,版本3.2.57(1)-发行版(x86_64-apple-darwin17)

我尝试使用其他格式,但是它抛出了非法的日期格式。

created="2019-02-03T10:17:24Z"
createdT=`date -j -f +%Y-%m-%dT%H:%M:%S.%3NZ $created`

1 个答案:

答案 0 :(得分:0)

好像您有两个问题。

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

注意:

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

请注意,使用引号是一个好主意-在可能的地方使用单引号,在需要扩展变量的地方使用双引号。