Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在bash中将DateTime转换为时间戳_Bash - Fatal编程技术网

在bash中将DateTime转换为时间戳

在bash中将DateTime转换为时间戳,bash,Bash,我有一个日期时间2019-02-03T10:17:24Z要转换为时间戳。 我可以使用 当前=“日期+%s” 操作系统:MAC Bash:GNUBash,版本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` 看起来你有两个问题 用法。-f选项在格式开头不带

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

操作系统:MAC Bash:GNUBash,版本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`

看起来你有两个问题

  • 用法。
    -f
    选项在格式开头不带加号(
    +
  • 您指定的格式似乎需要GNU date提供的纳秒值,但该值不在您的输入数据中
  • 注:


    请注意,使用引号是一个非常好的主意——可以使用单引号,需要展开变量的地方使用双引号。

    createdT=“$(date-d“${created}”+%s)”
    ?看起来您使用的是BSD date而不是GNU date。当我在Ubuntu:16.04容器中执行相同的命令时,你能确认你的操作系统和bash的版本吗。。它抛出以下错误。。。。日期:无效选项--“j”。ubuntu中的等效命令是什么@Ghotinubuntu的工作原理是
    createdT=$(日期-d“${created}”+%s')
    $ created="2019-02-03T10:17:24Z"
    $ date -j -f '%Y-%m-%dT%H:%M:%SZ' "$created" '+%s'
    1549207044