我正在解析如下日期:
date +'%Y-%m-%dT%H:%M:%SZ' -d '2017-10-06T13:41:06Z'
它适用于日期版本(GNU coreutils)8.21 ,但它不适用于日期版本(GNU coreutils)8.4 。给出以下错误:
日期:无效日期`2017-10-06T13:41:06Z'
有没有办法在(GNU coreutils)8.4 中解析这个日期?
答案 0 :(得分:2)
您正在使用的功能是added in GNU coreutils 8.13,因此,如果您使用的是旧版本,则该功能无法使用。
首先在T
分割时间。这适用于旧版本。
# Given an ISO date $iso_date with the time in split format HH:MM:SS...
date_part=${iso_date%%T*}
time_part=${iso_date#*T}
date -d "$date_part $time_part"
如果您还需要支持不带标点符号的精简格式,请参阅a similar question on Unix Stack Exchange。