写点什么

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

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

关注

评论

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

首份把架构三原则拆开来讲的“架构师宝典”,电子版已上线

Geek_0c76c3

Java 数据库 开源 程序员 开发

“智领医疗 数创未来”活动成功举办,海量数据携手openGauss为医疗数字化创新赋能

openGauss

Python进阶(七)浅谈python3和Python2的区别

No Silver Bullet

Python3 区别 10月月更 Python2

hashmap常见面试题

普罗米修斯

10月月更

C++ | 关于extern关键字的使用

YOLO.

qt 10月月更 C++

Qt | 实现自定义手机号输入框控件

YOLO.

qt 10月月更 C++

【LeetCode】优势洗牌Java题解

Albert

LeetCode 10月月更

云和恩墨大讲堂 x openGauss Meetup x 鲲鹏生态孵化营(上海站)圆满落幕

openGauss

LinkedList源码分析(二)

知识浅谈

linkedlist 10月月更

从零开始学Graph Database:什么是图

华为云开发者联盟

人工智能 华为云 图数据库 图计算引擎 企业号十月 PK 榜

如何使用流程 中的 DataObject 并为流程设置租户

江南一点雨

Java springboot workflow flowable

Python进阶(五)浅谈python匿名函数及编写无参数decorator

No Silver Bullet

Python 10月月更 匿名函数 无参数decorator

MFC|CCombobox控件修改编辑框光标显示位置

中国好公民st

c c++ 10月月更

【Java深入学习】join再理解

Geek_65222d

10月月更

欢迎新大陆软件加入openGauss社区

openGauss

欢迎奥看科技加入openGauss社区

openGauss

DDD 建模案例分享

Bright

敏捷 DDD TDD

IDEA的Docker插件实战(Dockerfile篇)

程序员欣宸

Docker IDEA 10月月更

Github 访问量过百万!阿里内部springcloud手册, 实至名归

Geek_0c76c3

Java 数据库 程序员 开发

cuda+cudnn ubuntu20安装

Ayosh

欢迎数造科技加入openGauss社区

openGauss

Node.js TLSSocket 库里涉及到的证书链的概念简介

汪子熙

JavaScript node.js 后端开发 SAP 10月月更

不要小看一个Redis!阿里最新开源Redis核心原理+应用实践,涵盖了Redis的所有操作

程序员小毕

面试 程序人生 中间件 Java后端 redis 底层原理

10项任务助你落地架构课程!

华仔

架构实战营

Java的跨平台和环境搭建

共饮一杯无

jdk java基础 10月月更 java环境搭建

Java 隐藏 Word 文档中的特定段落

在下毛毛雨

带你认识什么是“回流重绘”

华为云开发者联盟

html 前端 浏览器 企业号十月 PK 榜

openGauss 3.1.0版本正式发布 | 七个方面全面增强

openGauss

如何实时、高效地处理如此海量的路况数据

华为云开发者联盟

人工智能 华为云 图片处理 智慧交通 企业号十月 PK 榜

欢迎海天起点加入openGauss社区

openGauss

说说 Spring 定时任务如何大规模企业级运用

阿里巴巴云原生

spring 阿里云 云原生

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