C# 日期型 JSON 序列化后毫秒部分的 7 位数字是啥?

使用 Newtonsoft.Json 来序列化日期型字段时,其毫秒部分有 7 为小数。一直也没太在意,但昨天在 Java 中使用 SimpleDateFormat 反序列化时却发现没有对应的格式说明符。

Newtonsoft.Json 序列化时默认使用了 IsoDateTimeConverter,其序列化后结果为 2019-09-23T15:20:06.4086491+08:00

而 Java 中 SimpleDateFormat 最接近的一种格式为 yyyy-MM-dd'T'HH:mm:ss.SSSXXX,其毫秒部分只有 3 位小数,反序列化上面的日期字符串会报错。