使用 .NET Core 和 Json.NET,我如何序列化DateTimeOffset
(not DateTime
) 使得 UTC+00:00
变成Z
同时保留任何其他时区偏移量(-04:00
例如)?
这个帖子 https://stackoverflow.com/a/42816827/918244 is for DateTime
,但是有了它,我设法替换了+00:00
by Z
转换时all时区转换为 UTC
new JsonSerializerSettings {
Converters = new JsonConverter[] {
new IsoDateTimeConverter {
DateTimeStyles = DateTimeStyles.AdjustToUniversal,
DateTimeFormat = "yyyy'-'MM'-'dd'T'HH':'mm':'ss'Z'",
}
}
};
我想保留时区偏移信息,i.e.
2019-12-10T17:00:00Z
for new DateTimeOffset(2019, 12, 10, 17, 0, 0, TimeSpan.Zero)
and
2019-12-10T13:00:00-04:00
for new DateTimeOffset(2019, 12, 10, 13, 0, 0, TimeSpan.FromHours(-4))
The DateTimeFormat = "yyyy'-'MM'-'dd'T'HH':'mm':'ssK"
建议的作品DateTime
但输出+00:00
, not Z
, for DateTimeOffset
...
See 这个 .NET Fiddle 用于复制 https://dotnetfiddle.net/iduukx我的尝试。