是否有使用System.Text.Json将ZonedDateTime序列化为ISO 8601字符串的方法?
我目前正在以这种格式输出2020-03-15T15:14:53Z UTC,该格式不符合ISO 8061。
最终目标是将其输入Moment.js以进行进一步格式化
编辑:添加代码段,注意很复杂,仅从DateTimeOffset创建ZonedDateTime
//Incoming Date format "Mon Feb 10 16:46:03 +0000 2020"
var dto = DateTimeOffset.ParseExact(date, "ddd MMM dd HH:mm:ss K yyyy", CultureInfo.InvariantCulture.DateTimeFormat);
var zdt = dto.ToZonedDateTime();
ZonedDateTime
构造DateTimeOffset
,我建议您不要这样做,而应该使用OffsetDateTime
,它实际上表示您拥有的信息。 (您也可以直接从初始值解析它,而不用通过DateTimeOffset
进行解析。)虽然我没有检查,但我希望OffsetDateTime
JSON表示形式为ISO-8601格式。