介绍
在Java中使用Date对象,计算两个日期相差的月份
示例代码
java">import java.util.Calendar;
import java.util.Date;public class DateUtils {public static int monthsBetween(Date startDate, Date endDate) {Calendar startCalendar = Calendar.getInstance();startCalendar.setTime(startDate);Calendar endCalendar = Calendar.getInstance();endCalendar.setTime(endDate);// 确保 startCalendar 的日期在 endCalendar 之前if (startCalendar.after(endCalendar)) {Calendar temp = startCalendar;startCalendar = endCalendar;endCalendar = temp;}int months = endCalendar.get(Calendar.MONTH) - startCalendar.get(Calendar.MONTH);int years = endCalendar.get(Calendar.YEAR) - startCalendar.get(Calendar.YEAR);// 如果年份差不为0,则从月份差中减去(年份差 * 12)return months - years * 12;}public static void main(String[] args) {// 示例:计算两个日期之间的月份差Date date1 = new Date(); // 当前日期// 假设有一个日期,比如 2023-01-01Date date2 = new Date(); // 需要替换为实际日期int months = monthsBetween(date1, date2);System.out.println("Months between dates: " + months);}
}