写点什么

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

  • 2013-11-29
  • 本文字数:1073 字

    阅读完需:约 4 分钟

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

2013-11-29 11:041784
用户头像

发布了 256 篇内容, 共 99.8 次阅读, 收获喜欢 12 次。

关注

评论

发布
暂无评论
发现更多内容

从根上学习Git

书旅

git 工具 版本控制 版本管理工具

HTTP协议-基础

Jaykey

大前端 HTTP

为什么使用Portainer,而不是Docker CLI来管理Docker环境

xcbeyond

Docker 运维 Portainer

「C++ 篇」答应我,别再 if else 走天下了可以吗

小林coding

c++ 编程 设计模式 编程习惯 编程风格

2020大厂web前端面试常见问题总结

华为云开发者联盟

CSS 面试 响应式 大前端 浏览器

第二次推荐笔记:wolai

申屠鹏会

为什么你做的 Excel 表不好用?

Tony Wu

效率工具 产品设计 Excel ER图

Spring Boot Actuator微服务服务监控

xcbeyond

Java 微服务 springboot actuator 服务监控

老张「原创小说」

瓜藤老祖

个人成长

gRPC在Spring Cloud中的应用

xcbeyond

Java gRPC SpringCloud

SpringCloud(Netflix)-技术专题-微服务入门介绍

码界西柚

Newbe.Claptrap 框架如何实现在多种框架之上运行?

newbe36524

Docker 云计算 微服务 .net core ASP.NET Core

为什么直播系统不用RTP协议

soolaugust

WebRTC 直播 RTMP rtp

C++ 深入浅出工厂模式(进阶篇)

小林coding

c++ 设计模式 工厂模式

超超超全递归技巧讲解,这次带你拿下递归

多选参数

数据结构 算法 递归 数据结构与算法

误执行 rm -fr /*,我删删删删库了,要跑路吗?

小林coding

Linux 程序人生 Shell linux命令

对待一件事,从不喜欢再到喜欢,转变需要多大

良知犹存

程序人生

国内首家 ABM 营销技术服务商火眼云完成5000万元A轮融资

人称T客

字节跳动想招什么样的技术人?

池建强

HTTP协议-进阶

Jaykey

大前端 HTTP

让类/进程/脚本「单身」的方法

小林coding

c c++ Shell 设计模式 单例模式

C++ this指针的理解和作用

小林coding

c c++ 指针

Web 全栈开发利器: 强大的在线 Cloud IDE

华为云开发者联盟

Web python3.x 全栈 编码 CloudIDE

优化教育体验 智微智能高品质录播系统

InfoQ_967a83c6d0d7

精美前端UI(VUE)界面,ASP.NET通用工作流开发分享

雯雯写代码

工作流 可视化

修改系统时间,导致 sem_timedwait 一直阻塞的问题解决和分析

小林coding

Linux 编程 问题处理

全球移动服务生态的暗涌与新机

脑极体

直播技术的背后--RTMP协议

soolaugust

直播 RTMP

音画同步体验有多好,来看看即构的自研互动白板就知道啦

ZEGO即构

在线教育 SVG canvas

C++ 深入浅出工厂模式(初识篇)

小林coding

c++ 设计模式 工厂模式

大数据技术发展(一):大数据技术的起源

cristal

Java 大数据 hadoop

Noda Time 1.2发布,支持XML、JSON序列化和文本格式化_语言 & 开发_Anand Narayanaswamy_InfoQ精选文章