三九宝宝网宝宝百科宝宝知识

什么是JSR310新Java日期

02月11日 编辑 39baobao.com

[什么食物含牛磺酸较高?]磺酸几乎存在于所有的生物之中,哺乳动物的主要脏器,如:心脏、脑、肝脏中含量较高;含量最丰富的是海鱼、贝类,如墨鱼、章鱼、虾,贝类的牡蛎、海螺、蛤蜊等。鱼类中的青花鱼、竹荚鱼...+阅读

对 Java 6 日期/时间 API 的改进 JSR 310 日期/时间 API 试图通过提供更好的性能和易用性改进 Java 的当前日期/时间 API。例如,Java Calendar 类将日期同时存储为与标准纪元之间的偏移量(以毫秒为单位)以及一组日历字段(例如,星期几、几号以及月份)。 此双精度表示导致在意外的时间重新计算日历字段,从而产生不可预测的性能特点。与此相比,JSR 310 类仅将日期/时间表示存储为与 Date 和 Calendar 所使用的同一标准纪元之间的偏移量(以毫秒为单位);仅当需要时才会计算日期等日历字段,并且不会使用这些日历字段进行内部日期表示。

JSR 310 还对当前 Java 日期/时间模型进行了改进。Java 6 API 不包含表示本地时间(不具有关联时区的时间)、持续时间或时间间隔的类。这迫使程序员使用令人困惑的设计做法,例如使用 int 表示持续时间。JSR 310 包含表示上述各个概念的类,从而可以进行更为明确的程序设计。 最后,JSR 310 API 通过使用不可改变的类努力实现线程安全。Java 当前的日期/时间类 Date 和 Calendar 都是可改变的,因而都不是线程安全的。

JSR 310 日期/时间概念 JSR 310 API 利用了从多个第三方 Java 日期/时间 API 中获得的经验。 JSR 310 主要基于 Joda Time API;其他影响因素包括 ICU、Time and Money 和 Calendar Date。JSR 310 的 API 是围绕 Joda Time 中使用的相同 5 个基本日期/时间概念构建的: 离散的时间线 瞬间 不完全时间 持续时间 时段 时间间隔 离散的时间线 像 Joda Time 一样,JSR 310 使用离散化的时间线:时间被建模为由小的固定持续时间分隔的连续的瞬间序列。

JSR 310 的离散时间线具有纳秒分辨率,因此可以表示时间“2008 年 1 月 1 日午夜后 1 纳秒”,但不能表示时间“2008 年 1 月 1 日午夜后 1 皮秒”。该时间线上的每个离散纳秒都被视为一个瞬间,如下所示。 瞬间 瞬间是离散化时间线上的特定点。 一个瞬间示例是“世界标准时间 2008 年 1 月 7 日 23:00:00。0”。同样可以将瞬间定义为与标准纪元之间的偏移量(以纳秒为单位),例如“世界标准时间 1970 年 1 月 1 日之后 20,000,000 纳秒”。

这两个说明都定义了离散时间线上的单个唯一点。 瞬间不同于不完全时间,后者定义了时间线上的一组时刻,而不是一个唯一的时刻。 JSR 310 API 提供了多个表示瞬间的类:Instant、OffsetDateTime 和 ZonedDateTime,所有这些类都实现了 ReadableInstant 接口。 OffsetDateTime 类表示日期、每日时间以及与世界标准时间 (coordinated universal time, UTC)之间的偏移量(如 +1:00)。

类似的 ZonedDateTime 类包含时区 ID(如 America/New_York)而不是偏移量。 给定的时区可能使用多个不同的偏移量,具体取决于一年中的时间;例如,America/New_York 时区的偏移量在夏令时为 -4:00,在其他时间为 -5:00。因此,当必须考虑特定于区域设置的时间规则(如夏令时)时,应该使用 ZonedDateTime 类。 ZonedDateTime 类提供了几种类别的用于创建、访问和修改瞬间的方法。

要创建 ZonedDateTime 的新实例以表示计算机的默认时区中的当前系统时间,可以使用 Clock。currentZonedDateTime() 工厂方法,如下面的示例所示。 Clock systemClock = Clock。system(); ZonedDateTime currentTime = systemClock。currentZonedDateTime(); 要创建一个 ZonedDateTime 实例以表示特定的、预先确定的日期,可以使用多个 ZonedDateTime。 dateTime 工厂方法之一。下面的示例演示了如何创建一个 ZonedDateTime 以表示计算机的默认时区中的 2000 年 1 月 1 日午夜。

Clock systemClock = Clock。system(); TimeZone defaultTimeZone = systemClock。 timeZone(); int year = 2000; int month = 1; int day = 1; int hour = 0; int minute = 0; ZonedDateTime theDate = ZonedDateTime。 dateTime(year, month, day, hour, minute, defaultTimeZone); OffsetDateTime 实例的创建方式与 ZonedDateTime 实例类似,区别在于传入 OffsetDateTime。 dateTime 工厂方法的是 ZoneOffset 而不是 TimeZone。要获得 ZoneOffset 的实例,可以使用静态 ZoneOffset。

zoneOffset(int hours) 方法,其中 hours 是与 UTC 之间的偏移量(以小时为单位)。 完成 丢弃。

以下为关联文档:

求助:做一名网管需要懂些什么网吧技术员从业能力的培训教程总纲 初级技术员: 1.基本的windows2000/xp/2003系统制作、普通优化。 2.了解电脑配件构架,显卡、网卡、声卡、CPU、主板搭配与检修方法,硬件故障...

留学金融专业你都需要什么问:如果再回到学生时代,你会去学习些什么? 绝对是计算机/编程。工作效率或提升很多。但也许正因为我是计算机小白,有时候反而更加能够用常识和逻辑去理解,算是塞翁失马。 问:如果...

美国留学金融专业申请条件是什么1. 本科专业为经济学、金融学或者工程学相关学科,需要有一定数学学习背景。 2. TOEFL 一般要求在 100 分以上,雅思要求在7分以上。建议学生考托福,并且单项成绩不要低于20分,因...

英国留学院校金融专业申请要求是什么牛津大学(University of Oxford) MSc Mathematical Finance 牛津大学金融数学专业每年1月份开学,对学生本科背景要求较高,比较看重工作经验和数学背景。 MSc in Financial Econo...

小朋友穿公主裙盘什么发型小朋友们天真无邪,稚嫩可爱,每个妈妈都希望自己的孩子漂漂亮亮的,给小朋友扎个漂亮的头发,会给妈妈和孩子都增添更多的开心和幸福! 工具/原料 皮筋数根 发卡数个 发带一个 方法/...

嘴唇为什么会掉皮?是一种病吗一般是因为有炎症,例如慢性唇炎,其典型表现之一就是不断地掉皮。气候的寒冷、干燥、日光的照射、烟酒的刺激和化妆品的使用都是引起慢性唇炎的原因。 掉皮是唇部炎症最初和最...

什么猫天生就喜欢钻进盒子里宠物猫喜欢钻盒子这与它几千年形成的生活习惯有关系。有资料显示,在几个世纪前,野生猫喜欢钻到树洞里或岩石缝里睡觉。因为猫咪的身体柔软,所以钻进这些狭小的地方很容易。然而...

把自己想象成是大自然中一种小动物在它们的眼中世界时什么样的我感谢我那七彩缤纷的童年,它让我在疲惫之时能会心一笑;我感谢我那获益匪浅的童年,它令我有了良多的感悟;我感谢我那平平凡凡却又独一无二的童年,它为我的曼妙的人生画卷涂上了最...

卫生事业岗系统面试有什么特点在事业单位面试考试环节,有些地方会设置实际技能操作考核,只有掌握实际技能操作的面试特点,才能更有效地通过医疗卫生系统面试!实际技能操作考核涉及的专业有临床、护理、中医等...

推荐阅读
图文推荐