21xrx.com
2025-06-30 08:20:42 Monday
文章检索 我的文章 写文章
Java中计算两个日期间隔天数的方法
2023-06-15 10:18:58 深夜i     32     0
Java 日期 天数差 Date类型 Calendar类 SimpleDateFormat类

在Java中,如果要计算两个日期之间相差的天数,可以使用Java中的Date类型和Calendar类,通过计算两者之间的天数差来实现。Date类型表示的是从1970年1月1日起经过的毫秒数,而Calendar类则是对日期和时间进行操作的类。

首先,使用SimpleDateFormat类来将字符串类型的日期转换成Date类型,然后利用Calendar类将Date类型转换为Calendar类型,再计算两个日期间隔的天数。

示例代码如下:

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class DateUtils {
  
  public static int getDaysBetween(Date d1, Date d2) {
    Calendar c1 = Calendar.getInstance();
    c1.setTime(d1);
    Calendar c2 = Calendar.getInstance();
    c2.setTime(d2);
    int days = 0;
    while (c1.before(c2)) {
      days++;
      c1.add(Calendar.DAY_OF_MONTH, 1);
    }
    return days;
  }
  public static void main(String[] args) throws Exception {
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    Date d1 = sdf.parse("2021-01-01");
    Date d2 = sdf.parse("2021-01-31");
    int days = getDaysBetween(d1, d2);
    System.out.println(days);
  }
}

以上代码中,我们定义了一个方法getDaysBetween,该方法接受两个Date类型的参数d1和d2,返回它们之间的天数差。

我们在main方法中,分别定义两个字符串类型的日期,并使用SimpleDateFormat类将其转换为Date类型,再调用getDaysBetween方法计算它们之间的天数差。最后,我们将得到的结果打印出来。

  
  

评论区