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);
}
相关文章
|
3月前
|
设计模式 Java API
如何处理Java中的方法过长?
如何处理Java中的方法过长?
|
3月前
|
Java Docker 容器
Java演进问题之Java的资源占用如何解决
Java演进问题之Java的资源占用如何解决
|
5月前
|
存储 缓存 Java
【Java】《2小时搞定多线程》个人笔记
【Java】《2小时搞定多线程》个人笔记
135 0
|
5月前
|
消息中间件 缓存 NoSQL
【Java】《2小时搞定多线程》个人笔记(二)
【Java】《2小时搞定多线程》个人笔记
83 0
【Java】《2小时搞定多线程》个人笔记(二)
|
5月前
|
存储 缓存 安全
【Java】《2小时搞定多线程》个人笔记(一)
【Java】《2小时搞定多线程》个人笔记
61 0
【Java】《2小时搞定多线程》个人笔记(一)
|
5月前
|
数据采集 人工智能 Java
6. `Java` 并发基础之`ReentrantReadLock`
6. `Java` 并发基础之`ReentrantReadLock`
|
5月前
|
安全 Java API
【JAVA】有关时间的操作在编程中如何实现?
【JAVA】有关时间的操作在编程中如何实现?
55 0
java202303java学习笔记第三十七天控制软件运行次数1
java202303java学习笔记第三十七天控制软件运行次数1
53 0
|
Java
java202303java学习笔记第三十九天线程池多大合适
java202303java学习笔记第三十九天线程池多大合适
59 0
java202303java学习笔记第三十九天多线程的额外扩展内容1
java202303java学习笔记第三十九天多线程的额外扩展内容1
39 0