JDK8 Period
Period类计算的是年、月、日的间隔
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.Period;
public class JDK8_LocalDate {
public static void main(String[] args) {
// 定义两个LocalDateTime对象
LocalDateTime ldt1 = LocalDateTime.of(2023,2,11,3,16);
LocalDateTime ldt2 = LocalDateTime.of(2024,2,11,3,16);
// 将对象转换为LocalDate对象
LocalDate date = ldt1.toLocalDate();
LocalDate date1 = ldt2.toLocalDate();
// 使用Period的between方法,计算两个对象相隔时间,并且返回时间
Period between = Period.between(date,date1);
// 打印对象
System.out.println(between);
// 通过对象.get方法获取需要的值
int years = between.getYears();
// 打印结果
System.out.println(years);
}
}
JDK8 Duration
Duration这个类计算的(秒、纳秒)的间隔
import java.time.*;
public class JDK8_LocalDate {
public static void main(String[] args) {
// 定义两个LocalDateTime对象
LocalDateTime ldt1 = LocalDateTime.of(2023,2,11,3,16);
LocalDateTime ldt2 = LocalDateTime.of(2024,2,11,3,16);
// 将对象转换为LocalTime对象
LocalTime localTime = ldt1.toLocalTime();
LocalTime localTime1 = ldt2.toLocalTime();
// 使用Duration可以计算两个时间之间的间隔
Duration duration = Duration.between(localTime,localTime1);
// 打印对象
System.out.println(duration);
// 使用对象获取需要的信息
long seconds = duration.getSeconds();
// 打印结果
System.out.println(seconds);
}
}
JDK8 ChronoUnit
ChronoUnit这个类包含了所有的时间单位
方法:ChronoUnit.XXX.between(时间1,时间2)
import java.time.*;
import java.time.temporal.ChronoUnit;
public class JDK8_LocalDate {
public static void main(String[] args) {
// 定义两个LocalDateTime对象
LocalDateTime ldt1 = LocalDateTime.of(2023,2,11,3,16);
LocalDateTime ldt2 = LocalDateTime.of(2024,2,11,3,16);
// 计算两个时间相差的年份
long between = ChronoUnit.YEARS.between(ldt1, ldt2);
// 打印结果
System.out.println(between);
}
}