NodaTime - 我可以更改 Instant 的默认 xml 序列化吗?

问题描述

NodaTime - 我可以更改 Instant 的认 xml 序列化吗?

有没有办法改变它,以便所有瞬间都可以在没有毫秒的情况下被序列化:

取而代之的是:

<CreationDateTime>2021-06-27T09:52:18.1900643Z</CreationDateTime>

我想要这个:

<CreationDateTime>2021-06-27T09:52:18Z</CreationDateTime> 

我想知道是否有办法为所有 NodaTime.Instant 属性做到这一点,例如对我们创建的 XmlSerializer 进行一些设置?

解决方法

不,恐怕不是:格式是有效的硬编码。我建议对 XML 进行后处理,或者可能使用单独的字符串属性进行序列化,这纯粹是为了 XML(因此您将其标记为过时,但以您想要的方式序列化它,并且它会代理到一个 Instant 属性,该属性过时但 被 XML 序列化忽略)。