Duration:用于计算两个时间间隔(秒,纳秒)
代码演示:
package a08datedemo;
import java.time.Duration;
import java.time.LocalDate;
import java.time.LocalDateTime;
public class DurationDemo1 {
public static void main(String[] args) {
LocalDateTime today = LocalDateTime.now();
System.out.println(today);
LocalDateTime birthDate=LocalDateTime.of(1990,4,20,
7,7,7);
System.out.println(birthDate);
Duration duration = Duration.between(birthDate,today);//第二个参数减第一个参数
System.out.println("相差的时间间隔对象:"+duration);
System.out.println(duration.toDays());//两个时间差的天数
System.out.println(duration.toHours());//两个时间差的小时数
System.out.println(duration.toMinutes());//两个时间差的分钟数
System.out.println(duration.toMillis());//两个时间差的毫秒数
System.out.println(duration.toNanos());//两个时间差的纳秒数
}
}
运行结果:
Period:用于计算两个日期间隔(年、月、日)
代码演示:
package a08datedemo;
import java.time.LocalDate;
import java.time.Period;
public class PeriodDemo1 {
public static void main(String[] args) {
LocalDate today = LocalDate.now();
System.out.println(today);
//生日的年月日
LocalDate birthDate=LocalDate.of(1990,4,20);
System.out.println(birthDate);
Period period=Period.between(birthDate,today);//第二个参数减第一个参数
System.out.println("相差的时间间隔对象:"+period);
System.out.println(period.getYears());
System.out.println(period.getMonths());
System.out.println(period.getDays());
System.out.println(period.toTotalMonths());//407 时间间隔的总月份
}
}
运行结果:
ChronoUnit:用于计算两个日期间隔
代码演示:
package a08datedemo;
import java.time.LocalDateTime;
import java.time.temporal.ChronoUnit;
public class ChronoUnitDemo1 {
public static void main(String[] args) {
LocalDateTime today=LocalDateTime.now();
System.out.println(today);
LocalDateTime birthDate=LocalDateTime.of(1990,4,20,
7,7,7);
System.out.println(birthDate);
System.out.println("相差的年数:"+ ChronoUnit.YEARS.between(birthDate,today));
System.out.println("相差的月数:"+ChronoUnit.MONTHS.between(birthDate,today));
System.out.println("相差的周数:"+ChronoUnit.WEEKS.between(birthDate,today));
System.out.println("相差的天数:"+ChronoUnit.DAYS.between(birthDate,today));
System.out.println("相差的时数:"+ChronoUnit.HOURS.between(birthDate,today));
System.out.println("相差的分数:"+ChronoUnit.MINUTES.between(birthDate,today));
System.out.println("相差的秒数:"+ChronoUnit.SECONDS.between(birthDate,today));
System.out.println("相差的毫秒数:"+ChronoUnit.MILLIS.between(birthDate,today));
System.out.println("相差的月微秒数:"+ChronoUnit.MICROS.between(birthDate,today));
System.out.println("相差的纳秒数:"+ChronoUnit.NANOS.between(birthDate,today));
System.out.println("相差的半天数:"+ChronoUnit.HALF_DAYS.between(birthDate,today));
System.out.println("相差的十年数:"+ChronoUnit.DECADES.between(birthDate,today));
System.out.println("相差的世纪(百年)数:"+ChronoUnit.CENTURIES.between(birthDate,today));
System.out.println("相差的千年数:"+ChronoUnit.MILLENNIA.between(birthDate,today));
System.out.println("相差的纪元数:"+ChronoUnit.ERAS.between(birthDate,today));
}
}
运行结果: