plus方法在LocalDate中的使用
想要修改某个日期/时间对象的现有实例时,我们可以使用 plus和 minus方法来完成操作。
Java8中日期时间相关的API中的所有实例都是不可改变的,一旦创建LocalDate,LocalTime,LocalDateTime就无法修改他们(类似于String),这对于线程安全是非常有利的。
plus方法在LocalDate与LocalTime中的使用
LocalDate中定义了多种对日期进行增减操作的方法。
LocalDate plusDay(long days) 增加天数
LocalDate plusWeeks(long weeks) 增加周数
LocallDate plusMonths(long months) 增加月数
LocalDate plusYears(long years) 增加年数
plus方法在LocalTime中的使用
LocalTime中定义了多种对事件进行增减操作的方法
LocalTime plusNanos(long nanos) 增加纳秒
LocalTime plusSeconds(long seconds) 增加秒
LocalTime plusMinutes(long minutes) 增加分钟
LocalTime plusHours(long hours) 增加小时
plus的单独使用方式1
本文中都是使用plusXXX的方法进行演示,实际上也有对应的减少方法,以minus开头的方法对应的即为减少,实际上也有对应的减少方法,以minus开头的方法对应的即为减少,实际上minus方法调用的也是plus方法,只不过传入的参数是负数。
plus 和 minus 方法的应用
刚才学习到的plusXXX相关的方法都是添加了数值到具体的某一项上,根据观察还有两个单独的plus方法,接下来我们来学习这两个单独的plus方法。
plus(long amountToadd, TemporalUnit unit) LocalTime
plus(TemporalAmount amoutToadd) LocalTime
TemporalAmount 是一个接口,当接口作为方法的参数的时候,实际上传入的是接口的实现类对象,根据查看这个接口的体系,可以看到这个接口有一个实现类,名字叫做Period,在学习第一节的时候,说明了这个 类表示一段时间。
如何使用Period来表示一段时间呢?这个类本身提供了of(int year, int month, int day)来表示,例如:Period.of(1,2,3)返回的对象即为1年2个月3天这么一个时间段。
问题:今天程序员小张查看自己的车辆保险记录的时候看到还有2年3月8天就到期了,计算到期时间是什么时候?
plus的单独使用方式2
plus(long amountToadd, TemporalUnit unit)
在实际开发过程中,可能还会更精准的去操作日期或者说增加一些特殊的时间,比如说1个世纪、1个半天,1千年,10年等,Java8提供了这些日期的表示方式而不需要去单独进行计算了。
TemporalUnit是一个接口,通过查看体系接口发现,可以使用子类ChronoUnit来表示,ChronoUnit封装了很多时间段供我们使用。