在bash中将DateTime转换为时间戳
我有一个日期时间2019-02-03T10:17:24Z要转换为时间戳。 我可以使用 当前=“在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选项在格式开头不带
日期+%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
选项在格式开头不带加号(+
)请注意,使用引号是一个非常好的主意——可以使用单引号,需要展开变量的地方使用双引号。
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