Java Top.

使用Spring 5和Spring Boot 2开始,通过学习春天课程:

>>查看课程

1.概述

在这个快速的教程中,我们将看看两个新课程,以便在Java 8中引入的日期:时期期间

这两个类都可用于表示一段时间或确定两个日期之间的差异。两个课程之间的主要区别是时期使用基于日期的值期间使用基于时间的值。

2。时期班级

时期班级使用单位年,月份和日期来代表一段时间。

我们可以获得一个时期对象作为两个日期之间的差异之间()方法:

localdate startdate = localdate.of(2015,2,20);LocalDate Enddate = LocalDate.of(2017,15);期限=期间。(Startdate,Enddate);

然后,我们可以使用该方法确定该时段的日期单位getyears(),getmonths(),getdays()

log.info(“岁语:”+ seriod.getyears()+“月:”+句点.getmonths()+“天:”+句点.getdays());

在这种情况下,isnegative()方法,返回真的如果任何单位是否定的,可用于确定是否存在结束日期高于开始日期

assertfalse(期限.Isnegative());

如果isnegative()返回false,然后是开始日期早于结束日期价值。

另一种方式创建一个时期对象基于天,月,周或几年的数量使用专用方法:

期间突出=句点。(3,10,10);期间从VATYS =句点。(50);从Months =期间的时期.Ofmonths(5);从years =期间.Fyears(10);从威克斯=期间。仙女(40);assertequals(280,fromweeks.getdays());

如果仅存在其中一个值,例如通过使用该值OVEDSS()方法,另一个单元的值为0。

在...的情况下威克斯()方法,参数值用于通过将其乘以7来设置天数。

我们也可以创建一个时期通过解析文本序列来实现对象,它必须具有“pnynmnd”格式:

fromcharyears =si段.parse(“p2y”);assertequals(2,fromcharyears.getyears());fracchunits =si段.parse(“p2y3m5d”);assertequals(5,fromcharunits.getdays());

使用表格的方法可以增加或减少时段的值Plusx()minusx(),其中x表示日期单位:

assertequals(56,期间.plusdays(50).getdays());assertequals(9,期间..Musmonths(2).getmonths());

3.期间班级

期间类代表了几秒钟或纳秒的时间间隔,并且最适合处理更短的时间,以便在需要更精确的情况下。

我们可以确定两个瞬间之间的差异期间对象使用之间()方法:

即时启动= Instant.parse(“2017-10-03T10:15:30.00z”);即时结束= Instant.parse(“2017-10-03T10:16:30.00z”);持续时间=持续时间。(开始,结束);

然后我们可以使用getSeconds()或者getNanoseconds()确定时间单位值的方法:

assertequals(60,duration.getseconds());

或者,我们可以从两个localDateTime实例获取持续时间实例:

lumpytime start = localtime.of(1,20,25,1024);localtime ex = localtime.of(3,22,27,1544);持续时间。(开始,结束).getSeconds();

isnegative()方法可用于验证最终时刻是否高于启动时即时:

assertfalse(持续时间.Isnegative());

我们也可以获得A.期间基于几个时间单位的对象,使用这些方法Ovdays(),Ofhours(),ofmillis(),Ofminutes(),Ofnanos(),Ofseconds()

持续时间从Days =持续时间。(1);assertequals(86400,fromdays.getseconds());持续时间从minutes = duration.ofminutes(60);

创建一个期间基于文本序列的对象,这必须是“pndtnhnmn.ns”的形式:

持续时间从achch1 = = duration.parse(“p1dt1h10m10.5s”);持续时间从achch2 = duration.parse(“pt10m”);

持续时间可以转换为其他时间单位使用今天(),tohours(),tomillis(),tominutes()

assertequals(1,fromminutes.tohours());

使用表单的方法可以增加或减少持续时间值Plusx()或者minusx(),其中x可以站在几天,小时,毫米,分钟,纳米或秒:

assertequals(120,duration.plusseconds(60).getseconds());Assertequals(30,持续时间..GetSeconds(30).getSeconds());

我们也可以使用加()减()方法具有指定的参数颞子添加或减去:

assertequals(120,duration.plus(60,chronounit.seconds).getSeconds());assertequals(30,duration.minus(30,chronounit.seconds).getSeconds());

4。结论

在本教程中,我们已经表明我们如何使用时期期间课程。

一如既往,可以找到示例的完整源代码在github上

Java底部

使用Spring 5和Spring Boot 2开始,通过学习春天课程:

>>查看课程
评论在本文上关闭!