用于将ISO8601时间转换为unix时间戳的命令行

时间:2017-12-08 05:57:09

标签: bash unix-timestamp

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

有几个第三方网站可以做到这一点。但是我正在寻找一个可以在Linux提示符下执行的简单命令

1 个答案:

答案 0 :(得分:3)

将ISO日期/时间转换为Unix时间戳

date --date='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 -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.