本篇介绍java两个时间比较的几种方式。
- 使用
LocalDateTime.isBefore()
@Test public void test(){ LocalDateTime localDateTime = LocalDateTime.parse("2023-03-24T10:00:00"); // 或者这样写 // LocalDateTime localDateTime = LocalDateTime.of(2023, 3, 24, 10 , 0, 0); // 给定时间 +7 天 localDateTime = localDateTime.plus(7, ChronoUnit.DAYS); System.out.println(localDateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); LocalDateTime now = LocalDateTime.now(); System.out.println(now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); // 判断 给定时间 +7 天 是否在 当前时间 之前 System.out.println(localDateTime.isBefore(now)); }
- 使用
LocalDate.toEpochDay()
@Test public void test() { LocalDate from = LocalDate.of(2023, 3, 24); long day = LocalDate.now().toEpochDay() - from.toEpochDay(); System.out.println("距离当前多少日:" + day); }
- 使用时间戳比较大小
@Test public void test() { // 给定时间 Calendar calendar = Calendar.getInstance(); // 月份为当前月-1 calendar.set(2023, Calendar.MARCH, 24, 10 , 0, 0); //当前时间 减去 给定时间 是否大于7天 long now = System.currentTimeMillis(); long time = calendar.getTimeInMillis(); long days = (now - time) / (1000 * 3600 * 24); System.out.println(days); }