首页 > 编程语言 >java 计算两个日期之间相隔的天数

java 计算两个日期之间相隔的天数

时间:2023-11-05 19:37:30浏览次数:47  
标签:java 天数 Period 日期 time LocalDate 相隔


在Java 8中,你可以使用java.time包中的LocalDate类和Period类来计算两个日期字符串之间相隔的天数。以下是一个示例代码:

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.Period;

public class DateDifference {
    public static void main(String[] args) {
        String date1 = "2023-05-12";
        String date2 = "2023-05-13";

        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");

        LocalDate localDate1 = LocalDate.parse(date1, formatter);
        LocalDate localDate2 = LocalDate.parse(date2, formatter);

        Period period = Period.between(localDate1, localDate2);
        int days = period.getDays();

        System.out.println("相隔天数: " + days);
    }
}

在这个示例中,我们首先将日期字符串解析为LocalDate对象,然后使用Period.between()方法计算两个日期之间的时期。最后,我们使用Period.getDays()方法获取相隔的天数。这个示例将输出相隔的天数为1天。请注意,我们在日期字符串中使用的是"yyyy-MM-dd"格式,这是Java日期格式的一种常见形式。如果你的日期字符串格式不同,你需要相应地调整日期格式模式。


标签:java,天数,Period,日期,time,LocalDate,相隔
From: https://blog.51cto.com/u_15295225/8194732

相关文章

  • java IO模型:AIO(Asynchronous I/O)
    AIO也就是NIO2。Java7中引入了NIO的改进版NIO2,它是异步IO模型。异步IO是基于事件和回调机制实现的,也就是应用操作之后会直接返回,不会堵塞在那里,当后台处理完成,操作系统会通知相应的线程进行后续的操作。目前来说AIO的应用还不是很广泛。Netty之前也尝试使用过AIO......
  • java IO模型:BIO(Blocking I/O)
    BIO属于同步阻塞IO模型。同步阻塞IO模型中,应用程序发起read调用后,会一直阻塞,直到内核把数据拷贝到用户空间。在客户端连接数量不高的情况下,是没问题的。但是,当面对十万甚至百万级连接的时候,传统的BIO模型是无能为力的。因此,我们需要一种更高效的I/O处理模型来应对更高......
  • java IO流:介绍下阻塞、非阻塞、同步、异步 I/O 的概念
    这里先介绍下阻塞、非阻塞、同步、异步I/O的概念。先来看看阻塞I/O,当用户程序执行read,线程会被阻塞,一直等到内核数据准备好,并把数据从内核缓冲区拷贝到应用程序的缓冲区中,当拷贝过程完成,read才会返回。注意,阻塞等待的是「内核数据准备好」和「数据从内核态拷贝到用户态」这两......
  • java IO设计模式:观察者模式
    NIO中的文件目录监听服务使用到了观察者模式。NIO中的文件目录监听服务基于WatchService接口和Watchable接口。WatchService属于观察者,Watchable属于被观察者。Watchable接口定义了一个用于将对象注册到WatchService(监控服务)并绑定监听事件的方法register。WatchServ......
  • java IO流:字符缓冲流
    ......
  • java基础:对Java集合的理解
    对Java集合的理解  集合是我们在工作中使用频率非常高的组件了。下面的两张图是集合框架的类图结构。TreeSet的本质是TreeMapHashSet的本质是HashMapJava集合是一组用于存储和操作对象的类和接口,提供了各种数据结构和算法的实现,用于解决不同的数据存储和访问需求。Java集合框架位......
  • Java基础:创建对象有几种方式?
    Java创建对象有几种方式?new关键字  平时使用的最多的创建对象方式Useruser=newUser();反射方式  使用newInstance(),但是得处理两个异常InstantiationException、IllegalAccessException:Useruser=User.class.newInstance();Objectobject=(Object)Class.forName("java.l......
  • java基础:Object中的常用方法
    介绍下Object中的常用方法clone方法  保护方法,实现对象的浅复制,只有实现了Cloneable接口才可以调用该方法,否则抛出CloneNotSupportedException异常,深拷贝也需要实现Cloneable,同时其成员变量为引用类型的也需要实现Cloneable,然后重写clone方法。finalize方法  该方......
  • java集合:什么是 fail-fast?
    说说什么是fail-fast?  fail-fast机制是Java集合(Collection)中的一种错误机制。当多个线程对同一个集合的内容进行操作时,就可能会产生fail-fast事件。  例如:当某一个线程A通过iterator去遍历某集合的过程中,若该集合的内容被其他线程所改变了,那么线程A访问集合时,就会......
  • java基础:static都有哪些用法?
    static都有哪些用法?  所有的人都知道static关键字这两个基本的用法:静态变量和静态方法.也就是被static所修饰的变量/方法都属于类的静态资源,类实例所共享.  除了静态变量和静态方法之外,static也用于静态块,多用于初始化操作:publiccalssPreCache{static{//执行相关......