将 ISO 8601 时间转换为 unix 时间戳的命令行

Commandline to convert ISO8601 time to unix timestamp

获取给定 ISO 8601 日期的 unix 时间戳的最有效方法是什么,反之亦然?

有几个第三方网站可以执行此操作。但是我正在寻找一个可以在 Linux 提示符

下执行的简单命令

将 ISO Date/Time 转换为 Unix 时间戳

date -d 'date' +"%s"

例子

   bash-# date -d 'Fri Dec  8 00:12:50 UTC 2017' +"%s"
   bash-# 1512691970

man -a date

   -d, --date=STRING
          display time described by STRING, not 'now'

   %s     seconds since 1970-01-01 00:00:00 UTC

将 Unix 时间戳转换为 ISO Date/Time

date -Iseconds -d @<unix timestamp>

例子

   bash-# date -Iseconds -d @1512711426
   bash-# 2017-12-07T21:37:06-0800

man -a date

   -d, --date=STRING
          display time described by STRING, not 'now'


   -I[TIMESPEC], --iso-8601[=TIMESPEC]
          output  date/time  in  ISO 8601 format.  
          TIMESPEC='date' for date only (the default), 'hours',                             
          'minutes', 'seconds', or 'ns' for date and time to the 
          indicated precision.