java两个时间比较的几种方式

简介: java两个时间比较的几种方式

本篇介绍java两个时间比较的几种方式。

  1. 使用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));
}
  1. 使用LocalDate.toEpochDay()
@Test
public void test() {
    LocalDate from = LocalDate.of(2023, 3, 24);
    long day = LocalDate.now().toEpochDay() - from.toEpochDay();
    System.out.println("距离当前多少日:" + day);
}
  1. 使用时间戳比较大小
@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);
}
相关文章
|
4月前
|
设计模式 安全 Java
Java面试题:请解释Java中的线程池以及为什么要使用线程池?请解释Java中的内存模型以及如何避免内存泄漏?请解释Java中的并发工具包以及如何实现一个简单的线程安全队列?
Java面试题:请解释Java中的线程池以及为什么要使用线程池?请解释Java中的内存模型以及如何避免内存泄漏?请解释Java中的并发工具包以及如何实现一个简单的线程安全队列?
43 1
|
4月前
|
设计模式 Java API
如何处理Java中的方法过长?
如何处理Java中的方法过长?
|
5月前
|
XML Java 数据格式
一篇文章讲明白java的常用定时任务的几种方式
一篇文章讲明白java的常用定时任务的几种方式
45 0
|
6月前
|
存储 缓存 Java
【Java】《2小时搞定多线程》个人笔记
【Java】《2小时搞定多线程》个人笔记
142 0
|
6月前
|
消息中间件 缓存 NoSQL
【Java】《2小时搞定多线程》个人笔记(二)
【Java】《2小时搞定多线程》个人笔记
91 0
【Java】《2小时搞定多线程》个人笔记(二)
|
6月前
|
存储 缓存 安全
【Java】《2小时搞定多线程》个人笔记(一)
【Java】《2小时搞定多线程》个人笔记
65 0
【Java】《2小时搞定多线程》个人笔记(一)
|
6月前
|
安全 Java API
【JAVA】有关时间的操作在编程中如何实现?
【JAVA】有关时间的操作在编程中如何实现?
59 0
java202303java学习笔记第三十八天并发和并行
java202303java学习笔记第三十八天并发和并行
63 0
|
Java
java202303java学习笔记第三十九天线程池多大合适
java202303java学习笔记第三十九天线程池多大合适
62 0
java202303java学习笔记第四十天综合练习(多线程版的服务器)
java202303java学习笔记第四十天综合练习(多线程版的服务器)
78 0