BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Noda Time 1.2发布,支持XML、JSON序列化和文本格式化

| 作者 Anand Narayanaswamy 关注 0 他的粉丝 ,译者 马德奎 关注 0 他的粉丝 发布于 2013年11月30日. 估计阅读时间: 4 分钟 | GMTC大前端的下一站,PWA、Web框架、Node等最新最热的大前端话题邀你一起共同探讨。

Noda Time 1.2已经发布,除了提供一个用于处理JSON序列化的可选程序集外,还支持XML、二进制序列化和文本格式化。它还提供了对类型Duration、OffsetDateTime和ZonedDateTime进行格式化和解析的能力,并包含方法Interval.Contains()和ZonedDateTime.Calendar(),此外,还修复了若干Bug。

最新版本提供了对程序集NodaTime.Serialization.JsonNet的支持。该程序集使用Json.NET 4.5.11构建,同时适用于便携式和桌面平台。此外,它还在JsonSerializer和JsonSerializerSettings上提供了一个扩展的ConfigureForNodaTime方法。类型NodaConverters为每个转换器提供了公共的静态只读字段,所有这些转换器都是不可变的。或者,开发人员可以基于使用NodaPatternConverter的模式创建自定义转换器。

Noda Time 1.2更改了若干API,如引入新类DurationPattern、OffsetDateTimePattern和ZonedDateTimePattern。这些类分别表示解析和格式化Duration、OffsetDateTime和ZonedDateTime的模式。它还引入了新属性GeneralsoPattern、BclRoundtripPattern和FullRoundtripPattern。这些属性提供对模式o/O、r和s的编程访问。该版本还包含DateTimeZoneNotFoundException、CalendarSystem和InvalidNodaDataException。

在Noda Time 1.2中,类型Instant、OffsetDateTime、ZonedDateTime、LocalDateTime, LocalDate、LocalTime、Offset、Interval、Duration和PeriodBuilder均实现了IXmlSerializable接口,开发人员可以对它们进行序列化。此外,这些类型也实现了ISerializable接口,开发人员可以使用BinaryFormatter通过[Serializable]属性对它们进行序列化。

最新版本除了包含新的Era.AnnoMartyrum外,还包含InstantPattern.WithMinMaxLabels(),前者用来取代先前命名错误的AnnoMartyrm,后者提供了替换用于格式化最小和最大时刻的文本的能力。除了ParseResult.Exception外,它还增加了方法Interval.Contains()、ZonedDateTime.Calendar和ZonedDateTime.GetZoneInterval()。其中,ParseResult.Exception提供对GetValueOrThrow()方法可能抛出的异常的直接访问。

在先前的版本中,创建超出long.MaxValue值的Period时会发生不正确溢出。除了修复该Bug外,Noda Time 1.2还修复了另一个Bug。当使用月末和接近闰年的值调用Period.Between()时,后者会导致这个方法返回一个正数和负数混合的结果。对于现有的Instant模式n、g和d,该版本还取消了对它们的大写别名的支持。

查看英文原文:Noda Time 1.2 Released with XML, JSON Serialization and Text Formatting

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT