网站怎么做公司,网站设计师和网页设计师的区别,wordpress纯静态化,东莞网络公司排行榜阅读建议
嗨#xff0c;伙计#xff01;刷到这篇文章咱们就是有缘人#xff0c;在阅读这篇文章前我有一些建议#xff1a;
本篇文章大概6000多字#xff0c;预计阅读时间长需要5分钟。本篇文章的实战性、理论性较强#xff0c;是一篇质量分数较高的技术干货文章#x…阅读建议
嗨伙计刷到这篇文章咱们就是有缘人在阅读这篇文章前我有一些建议
本篇文章大概6000多字预计阅读时间长需要5分钟。本篇文章的实战性、理论性较强是一篇质量分数较高的技术干货文章建议收藏起来方便时常学习与回顾温故而知新。创作不易免费的点赞、关注请走上一走算是对博主一些鼓励让我更有动力输出更多的干货内容。 注意
本文编写的单元测试是基于java11具体的版本号是11.0.19
Duration
Duration 是 Java 中表示时间段的类用于计算两个时间点之间的间隔。它包含秒seconds和纳秒nanos两个部分可以表示毫秒及更小的时间单位。与 Java 中的其他时间类不同Duration 不包含毫秒这个属性。
Test
public void test(){Duration durationDuration.of(60, ChronoUnit.SECONDS);LocalDateTime localDateTime LocalDateTime.of(2023, 1, 1, 13, 1, 1);LocalDateTime plus localDateTime.plus(duration);//计算当前日期时间加上指定时间段后的日期时间System.out.println(plus);//输出结果2023-01-01T13:02:01
}
与Period类相比Duration类和Period类都用于表示时间段但它们在表示的时间单位和使用方式上有所不同。Period类主要用于表示年、月、日等较大的时间单位而Duration类主要用于表示更小的时间单位例如毫秒、纳秒等。此外Period类提供了一些方法来获取时间段中的年、月、日等信息而Duration类则提供了更多的方法来进行时间计算和操作。在实际使用过程中Duration类和Period类都可以用于表示天的时间段其他的不行会抛出异常。
Test
public void test2(){Duration durationDuration.of(1,ChronoUnit.DAYS);Period period Period.ofDays(1);System.out.println(period.getDays() duration.toDays());
}
核心方法
Duration的核心方法包括
Duration#of(...)
Duration#of(long duration)这个方法用于创建一个表示给定持续时间的Duration对象单位为纳秒。持续时间可以是从零到Long.MAX_VALUE之间的任何值。Duration.of(long amount, TemporalUnit unit) 用于创建表示特定时间单位的持续时间对象。该方法接受两个参数amount表示持续时间的长整型数值。unit表示时间单位的 TemporalUnit 枚举类型或其子类。
Duration#ofDays(long days)这个方法用于创建一个表示给定天数的Duration对象。Duration#ofHours(long hours)这个方法用于创建一个表示给定小时数的Duration对象。Duration#ofMinutes(long minutes)这个方法用于创建一个表示给定分钟数的Duration对象。Duration#ofSeconds(long seconds)这个方法用于创建一个表示给定秒数的Duration对象。Duration#ofMillis(long millis)这个方法用于创建一个表示给定毫秒数的Duration对象。Duration#ofNanos(long nanos)这个方法用于创建一个表示给定纳秒数的Duration对象。
Test
public void test2() {Duration duration Duration.of(1, ChronoUnit.DAYS);duration Duration.ofDays(1);duration Duration.ofHours(24);duration Duration.ofMinutes(60);duration Duration.ofSeconds(60);duration Duration.ofMillis(1000);LocalDateTime localDateTime LocalDateTime.of(2023, 1, 1, 13, 1, 1);LocalDateTime plus localDateTime.plus(duration);//计算当前日期时间加上指定时间段后的日期时间System.out.println(plus);//输出结果2023-01-01T13:01:02
}
Duration#between(...)
Duration.between(LocalDateTime start, LocalDateTime end)用于计算两个 LocalDateTime 对象之间的持续时间。该方法接受两个参数start表示起始时间的 LocalDateTime 对象。end表示结束时间的 LocalDateTime 对象返回值是Duration对象
Test
public void test3() {LocalDateTime localDateTime1 LocalDateTime.of(2023, 1, 1, 13, 1, 1);LocalDateTime localDateTime2 LocalDateTime.of(2023, 1, 1, 15, 1, 1);Duration duration Duration.between(localDateTime1, localDateTime2);long seconds duration.getSeconds();System.out.println(seconds);//输出结果7200
}
Duration#get(...)
Duration#get(...): 此方法返回在给定单位中的持续时间。它接受一个 java.time.temporal.TemporalUnit 参数并返回该单位的数量。例如如果你使用 java.time.temporal.ChronoUnit.SECONDS此方法将返回持续时间中的秒数。
Duration#getUnits(...): 此方法返回此持续时间包含的单位数。这通常与 get() 方法一起使用以确定持续时间的长度但不具体到秒或纳秒。例如如果你有一个持续时间为2天、3小时、4分钟和5秒那么 getUnits() 将返回一个包含这些单位的 long[] 数组。Duration#getSeconds(...): 此方法返回此持续时间中的秒数部分。需要注意的是这与 get(java.time.temporal.ChronoUnit.SECONDS) 方法略有不同后者将考虑任何溢出到分钟、小时或天数的秒数。Duration#getNano(...): 此方法返回此持续时间中的纳秒数部分。与秒一样这不会考虑任何溢出到更高单位的纳秒数。
Test
public void test4() {Duration duration Duration.ofHours(2);ListTemporalUnit units duration.getUnits();System.out.println(units.toString());//输出结果[Seconds, Nanos]long seconds duration.get(ChronoUnit.SECONDS);System.out.println(seconds);//输出结果7200long seconds1 duration.getSeconds();System.out.println(seconds1);//输出结果7200duration Duration.ofNanos(10000);int nano duration.getNano();System.out.println(nano);//输出结果10000
}
Duration#plus(...)
Duration#plus(...)用于将当前Duration对象与另一个Duration对象相加返回一个新的Duration对象表示两个时间段的总和。
Duration#plusDays(...)用于将当前Duration对象与指定的天数相加返回一个新的Duration对象表示增加天数后的时间段。Duration#plusHours(...)用于将当前Duration对象与指定的小时数相加返回一个新的Duration对象表示增加小时数后的时间段。Duration#plusMinutes(...)用于将当前Duration对象与指定的分钟数相加返回一个新的Duration对象表示增加分钟数后的时间段。Duration#plusSeconds(...)用于将当前Duration对象与指定的秒数相加返回一个新的Duration对象表示增加秒数后的时间段。Duration#plusMillis(...)用于将当前Duration对象与指定的毫秒数相加返回一个新的Duration对象表示增加毫秒数后的时间段。Duration#plusNanos(...)用于将当前Duration对象与指定的纳秒数相加返回一个新的Duration对象表示增加纳秒数后的时间段。
Test
public void test5() {LocalDateTime localDateTime LocalDateTime.of(2023, 1, 1, 15, 1, 1);Duration duration Duration.ofHours(2);//定义一个2小时的时间段durationduration.plus(60,ChronoUnit.MINUTES);//当前时间段加上60分钟durationduration.plusDays(1);//当前时间段加上1天durationduration.plusHours(1);//当前时间段加上1小时durationduration.plusMinutes(60);//当前时间段加上60分钟durationduration.plusSeconds(60);//当前时间段加上60秒LocalDateTime plus localDateTime.plus(duration);//计算当前日期时间加上当前的时间段后的日期时间System.out.println(plus);//输出结果2023-01-02T20:02:01
}
Duration#minus(...)
Duration#minus(...): 用于从一个Duration对象中减去另一个Duration对象。它返回一个新的Duration对象表示当前Duration对象与减去的那一个之间的差值。
Duration#minusDays(...): 用于从一个Duration对象中减去一定数量的天数。它返回一个新的Duration对象表示当前Duration对象减去指定天数后的结果。Duration#minusHours(...): 用于从一个Duration对象中减去一定数量的小时数。它返回一个新的Duration对象表示当前Duration对象减去指定小时数后的结果。Duration#minusMinutes(...): 用于从一个Duration对象中减去一定数量的分钟数。它返回一个新的Duration对象表示当前Duration对象减去指定分钟数后的结果。Duration#minusSeconds(...): 用于从一个Duration对象中减去一定数量的秒数。它返回一个新的Duration对象表示当前Duration对象减去指定秒数后的结果。Duration#minusMillis(...): 用于从一个Duration对象中减去一定数量的毫秒数。它返回一个新的Duration对象表示当前Duration对象减去指定毫秒数后的结果。Duration#minusNanos(...): 用于从一个Duration对象中减去一定数量的纳秒数。它返回一个新的Duration对象表示当前Duration对象减去指定纳秒数后的结果。
Test
public void test6() {LocalDateTime localDateTime LocalDateTime.of(2023, 1, 10, 15, 1, 1);Duration duration Duration.ofHours(2);//定义一个2小时的时间段duration duration.minus(60, ChronoUnit.MINUTES);//当前时间段减去60分钟duration duration.minusDays(1);//当前时间段减去1天duration duration.minusHours(1);//当前时间段减去1小时duration duration.minusMinutes(60);//当前时间段减去60分钟duration duration.minusSeconds(60);//当前时间段减去60秒LocalDateTime minus localDateTime.minus(duration);//计算当前日期时间减去当前的时间段后的日期时间System.out.println(minus);//输出结果2023-01-11T16:02:01
}
Duration#toDays()
Duration#toDays(): 将Duration对象转换为天数。它返回一个整数值表示时间段中包含的天数。
Duration#toHours(): 将Duration对象转换为小时数。它返回一个整数值表示时间段中包含的小时数。Duration#toMinutes(): 将Duration对象转换为分钟数。它返回一个整数值表示时间段中包含的分钟数。Duration#toSeconds(): 将Duration对象转换为秒数。它返回一个整数值表示时间段中包含的秒数。Duration#toMillis(): 将Duration对象转换为毫秒数。它返回一个整数值表示时间段中包含的毫秒数。Duration#toNanos(): 将Duration对象转换为纳秒数。它返回一个整数值表示时间段中包含的纳秒数。
Test
public void test7() {Duration duration Duration.ofDays(1);//定义一个24小时的时间段long days duration.toDays();//结果1long hours duration.toHours();//结果24long minutes duration.toMinutes();//结果1440long seconds duration.toSeconds();//结果86400
}
上一篇深入了解Java Period类对时间段的精确控制-CSDN博客 文章转载自: http://www.morning.kjnfs.cn.gov.cn.kjnfs.cn http://www.morning.dqxph.cn.gov.cn.dqxph.cn http://www.morning.ykrkq.cn.gov.cn.ykrkq.cn http://www.morning.zcwtl.cn.gov.cn.zcwtl.cn http://www.morning.xphcg.cn.gov.cn.xphcg.cn http://www.morning.rlpmy.cn.gov.cn.rlpmy.cn http://www.morning.kdbcx.cn.gov.cn.kdbcx.cn http://www.morning.kldtf.cn.gov.cn.kldtf.cn http://www.morning.rwpfb.cn.gov.cn.rwpfb.cn http://www.morning.rmfh.cn.gov.cn.rmfh.cn http://www.morning.nylbb.cn.gov.cn.nylbb.cn http://www.morning.rdmz.cn.gov.cn.rdmz.cn http://www.morning.ktqtf.cn.gov.cn.ktqtf.cn http://www.morning.xnpml.cn.gov.cn.xnpml.cn http://www.morning.jgrjj.cn.gov.cn.jgrjj.cn http://www.morning.nkjjp.cn.gov.cn.nkjjp.cn http://www.morning.jlmrx.cn.gov.cn.jlmrx.cn http://www.morning.gpmrj.cn.gov.cn.gpmrj.cn http://www.morning.qfnrx.cn.gov.cn.qfnrx.cn http://www.morning.bnwlh.cn.gov.cn.bnwlh.cn http://www.morning.ljzqb.cn.gov.cn.ljzqb.cn http://www.morning.txrq.cn.gov.cn.txrq.cn http://www.morning.tznlz.cn.gov.cn.tznlz.cn http://www.morning.qpntn.cn.gov.cn.qpntn.cn http://www.morning.pbdnj.cn.gov.cn.pbdnj.cn http://www.morning.hrqfl.cn.gov.cn.hrqfl.cn http://www.morning.llyqm.cn.gov.cn.llyqm.cn http://www.morning.mjgxl.cn.gov.cn.mjgxl.cn http://www.morning.pmdzd.cn.gov.cn.pmdzd.cn http://www.morning.rjynd.cn.gov.cn.rjynd.cn http://www.morning.xplng.cn.gov.cn.xplng.cn http://www.morning.xmrmk.cn.gov.cn.xmrmk.cn http://www.morning.lwgrf.cn.gov.cn.lwgrf.cn http://www.morning.dyfmh.cn.gov.cn.dyfmh.cn http://www.morning.jwmws.cn.gov.cn.jwmws.cn http://www.morning.nlbhj.cn.gov.cn.nlbhj.cn http://www.morning.mcjrf.cn.gov.cn.mcjrf.cn http://www.morning.nzlsm.cn.gov.cn.nzlsm.cn http://www.morning.schwr.cn.gov.cn.schwr.cn http://www.morning.llcgz.cn.gov.cn.llcgz.cn http://www.morning.kqgsn.cn.gov.cn.kqgsn.cn http://www.morning.dnqpq.cn.gov.cn.dnqpq.cn http://www.morning.btnmj.cn.gov.cn.btnmj.cn http://www.morning.kwwkm.cn.gov.cn.kwwkm.cn http://www.morning.pzjfz.cn.gov.cn.pzjfz.cn http://www.morning.zrgsg.cn.gov.cn.zrgsg.cn http://www.morning.hilmwmu.cn.gov.cn.hilmwmu.cn http://www.morning.bmbnc.cn.gov.cn.bmbnc.cn http://www.morning.jpzcq.cn.gov.cn.jpzcq.cn http://www.morning.dbjyb.cn.gov.cn.dbjyb.cn http://www.morning.htbbp.cn.gov.cn.htbbp.cn http://www.morning.spqtq.cn.gov.cn.spqtq.cn http://www.morning.fylqz.cn.gov.cn.fylqz.cn http://www.morning.mzmqg.cn.gov.cn.mzmqg.cn http://www.morning.gpryk.cn.gov.cn.gpryk.cn http://www.morning.zlkps.cn.gov.cn.zlkps.cn http://www.morning.fdmtr.cn.gov.cn.fdmtr.cn http://www.morning.nzmqn.cn.gov.cn.nzmqn.cn http://www.morning.lbjdx.cn.gov.cn.lbjdx.cn http://www.morning.cnhgc.cn.gov.cn.cnhgc.cn http://www.morning.hlrtzcj.cn.gov.cn.hlrtzcj.cn http://www.morning.qzfjl.cn.gov.cn.qzfjl.cn http://www.morning.nnrqg.cn.gov.cn.nnrqg.cn http://www.morning.c7496.cn.gov.cn.c7496.cn http://www.morning.yybcx.cn.gov.cn.yybcx.cn http://www.morning.yxwnn.cn.gov.cn.yxwnn.cn http://www.morning.yhxhq.cn.gov.cn.yhxhq.cn http://www.morning.xgjhy.cn.gov.cn.xgjhy.cn http://www.morning.ywtbk.cn.gov.cn.ywtbk.cn http://www.morning.qlbmc.cn.gov.cn.qlbmc.cn http://www.morning.zkpwk.cn.gov.cn.zkpwk.cn http://www.morning.lhqw.cn.gov.cn.lhqw.cn http://www.morning.tstwx.cn.gov.cn.tstwx.cn http://www.morning.tnrdz.cn.gov.cn.tnrdz.cn http://www.morning.ryznd.cn.gov.cn.ryznd.cn http://www.morning.wjrq.cn.gov.cn.wjrq.cn http://www.morning.trqzk.cn.gov.cn.trqzk.cn http://www.morning.gktds.cn.gov.cn.gktds.cn http://www.morning.tgtwy.cn.gov.cn.tgtwy.cn http://www.morning.kbntl.cn.gov.cn.kbntl.cn