我在本地 TZ(欧洲/柏林)有
"2024-12-01 00:00:00"
,并且想将其解析/转换为 Go 的 RFC3339 time.Parse
,这将是 "2024-12-01T00:00:00+01:00"
。
我尝试过各种变体
strptime("%Y-%m-%d %H:%M:%S") | strflocaltime("%Y-%m-%dT%H:%M:%S%z")
但我无法以合适的格式获取时区,因为 RFC 3339 坚持
:
:
RFC3339 = "2006-01-02T15:04:05Z07:00"
上面的格式返回
2024-12-01T00:00:00+0100
时区中缺少
:
。
如何从 JQ 表达式中获取正确的时区格式(或解析/转换时间戳以便可以将其输出为 UTC)?
使用
%:z
而不是 %z
。 (您还可以将 "%Y-%m-%d
缩短为 %F
,将 %H:%M:%S"
缩短为 %T
):
jq -nr '"2024-12-01 00:00:00" | strptime("%F %T") | strflocaltime("%FT%T%:z")'
2024-12-01T00:00:00+01:00