21xrx.com
2025-03-22 13:57:49 Saturday
文章检索 我的文章 写文章
Java代码:计算日期相差天数
2023-06-16 22:43:37 深夜i     --     --
Java日期计算 日期相差天数 Java开发

在Java中,有时我们需要计算两个日期之间的差距天数。比如计算两个人的生日之间相差了多少天,或者计算两个时间之间的时间差。下面是Java代码,可以实现这个功能。

import java.util.Calendar;
import java.util.Date;
public class DateUtil {
  /**
   * 计算两个日期之间相差的天数
   *
   * @param startDate 开始日期
   * @param endDate  结束日期
   * @return 相差天数
   */
  public static int getDaysBetweenDates(Date startDate, Date endDate) {
    Calendar start = Calendar.getInstance();
    start.setTime(startDate);
    start.set(Calendar.HOUR_OF_DAY, 0);
    start.set(Calendar.MINUTE, 0);
    start.set(Calendar.SECOND, 0);
    start.set(Calendar.MILLISECOND, 0);
    Calendar end = Calendar.getInstance();
    end.setTime(endDate);
    end.set(Calendar.HOUR_OF_DAY, 0);
    end.set(Calendar.MINUTE, 0);
    end.set(Calendar.SECOND, 0);
    end.set(Calendar.MILLISECOND, 0);
    long startTimeInMillis = start.getTimeInMillis();
    long endTimeInMillis = end.getTimeInMillis();
    long diff = endTimeInMillis - startTimeInMillis;
    return (int) (diff / (24 * 60 * 60 * 1000));
  }
}

使用方法:

public static void main(String[] args) {
  SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
  try {
    Date startDate = sdf.parse("2022-01-01");
    Date endDate = sdf.parse("2022-01-15");
    int days = DateUtil.getDaysBetweenDates(startDate, endDate);
    System.out.println("两个日期相差的天数是:" + days);
  } catch (ParseException e) {
    e.printStackTrace();
  }
}

  
  

评论区