在 2025 收官前,看清 Data + AI 的真实走向,点击查看 BUILD 大会精华版 了解详情
写点什么

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:041849
用户头像

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

关注

评论

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

道-可道

顿晓

表达 5月日更

Tomcat 中是怎么处理文件上传的?

AI乔治

Java tomcat 架构 HTTP

教你写好代码注释

元闰子

软件开发 代码注释

测试

bilibili

网络攻防学习笔记 Day4

穿过生命散发芬芳

5月日更 网络攻防

教你写好技术文章

元闰子

技术人 写作技巧

对Spring Cloud+Nginx架构的主要组件不清楚,看这个就好

小Q

Java 学习 架构 面试 微服务

模块三作业-消息队列系统架构设计文档

张大彪

机器学习 Machine Learning- 吴恩达Andrew Ng 第1~5课总结 John 易筋 ARTS 打卡 Week 46

John(易筋)

ARTS 打卡计划

一文入门Golang之文件操作【推荐收藏】

liuzhen007

文件 Go 语言 5月日更

一张漫画解读:程序员为什么会跑路?

Java架构师迁哥

ECMAScript 2019(ES10)新特性简介

程序那些事

JavaScript ecmascript nodejs 程序那些事

最高学习效率:15.87%

石云升

学习 5月日更

如何选择Intel 傲腾持久内存的几种工作模式

Steven Xu

内存 存储 内存数据库 Snapshot 高性能服务器

【LeetCode】整数反转Java题解

Albert

算法 LeetCode 5月日更

5分钟快速上手结构化思维方式

鲁米

方法论

几种讨论场景下的原则

sherlockq

从理论走向实践,金五银六Java线程池指南已上线,一次性教给你!

飞飞JAva

Java 线程池

架构师实战营 模块三总结

代廉洁

架构实战营

从分层架构到微服务架构(一)

元闰子

学习 读书笔记 架构

卸载 Navicat!事实已证明,正版客户端,它更牛逼

比伯

Java 编程 架构 互联网 计算机

五月,开篇

程序员架构进阶

个人提升 28天写作 5月日更 总结思考

区块链蕴含的变革力量

CECBC

区块链

原来长大以后,我发现以前面临到的难题并没有不见,只是换了角度出现在生活的另一面。

叶小鍵

第八大洲环游记(二):中东云计算,异口同韵

脑极体

架构师实战营 模块三作业(基于自研集群 + MySQL存储的消息队列系统架构设计文档)

代廉洁

架构实战营

不爱跳槽的程序员集中在8-17k,揭晓中国开发者的真实现状

Java架构师迁哥

你开25k?我给30k!能让面试官满意的Java面试笔记到底有多强?

Java 程序员 架构 面试

区块链数字钱包——未来世界的银行卡

CECBC

区块链

基于腾讯云Serverless部署游戏:合成大西瓜

一颗小树

#Serverless #python #腾讯云

什么是批判性思考及推理

sherlockq

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