答案1
像这样(假设 GNU 或 ast-open 实现date
):
$ date -d '2022-11-09T14:41:15.555641007Z' +%s
1668004875
答案2
在 macOS 上,假设输入已知为 UTC:
% t='2022-11-09T14:41:15.555641007Z';
% date -j -f "%Y-%m-%dT%H:%M:%S%z" "${t%.*}+0000" +%s
1668004875
删除${t%.*}+0000
纳秒和Z
标记,并添加+0000
时区标记,因为这是所%z
期望的。
如果不是 UTC,您需要将其转换为之前的格式,然后使用它。2022-11-09T14:41:15+hhmm
date -j -f "%Y-%m-%dT%H:%M:%S%z" "$t" +%s
的选项为FreeBSD 版本date
看起来很相似,所以这也可能适用于那里。