我正在调用一个使用 ISO-8601 格式化日期的 Web 服务(据我所知)。
这是我使用解析日期的模式(我使用 Jackson 来反序列化响应):
yyyy-MM-dd'T'HH:mm:ss.SSS'Z'
大多数时候,该服务返回的日期如下所示:
2022-08-19T22:48:17.228Z
但是,该服务偶尔会返回如下日期:
2023-09-12T00:18:25Z
我认为当毫秒数恰好为 0 时就会发生这种情况。
这是 ISO-8601 日期的预期行为,还是服务在做一些奇怪的事情?
根据这个
此配置文件没有指定可以用多少位数字来表示 秒的小数部分。允许采用的标准 秒的小数部分必须同时指定最小位数 (大于或等于 1 的数字)和最大数量 位数(最大值可以表述为“无限制”)。
这意味着服务使用的“掩码”认为毫秒的第三位数字是可选的。