将时间戳转换为日期导致超时错误

Convert timestamp to date results in time out of range error

我正在尝试将时间戳转换为 ISO8601 日期时间字符串。

例如

timestamp_as_iso8601_date=$(date --iso-8601=ns -d @1606982602015489365)

时间戳相当长,精度为纳秒级,当我使用完整时间戳时 returns 出现以下错误: date: time ‘1606982602015489365’ is out of range

预期结果应该是:2020-12-03T09:03:22,015489300+01:00

当我将时间戳剪成这样时:1606982612 错误消失了,但我丢失了信息!

有什么方法可以在不丢失毫秒信息的情况下转换时间戳?

插入一个逗号:

date --iso-8601=ns -d @1606982602.015489365