import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateDifference {
public static void main(String[] args) {
// 定义日期格式化器
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try {
// 从字符串解析出 Date 对象
Date startDate = sdf.parse("2023-01-01");
Date endDate = sdf.parse("2023-10-05");
// 计算两个日期之间的天数差异
long differenceInMillis = endDate.getTime() - startDate.getTime();
long daysBetween = differenceInMillis / (1000 * 60 * 60 * 24);
// 输出结果
System.out.println("相差的天数: " + daysBetween);
} catch (ParseException e) {
e.printStackTrace();
}
}
}
相差的月份:
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class DateDifference {
public static void main(String[] args) {
// 定义日期格式化器
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try {
// 从字符串解析出 Date 对象
Date startDate = sdf.parse("2023-01-01");
Date endDate = sdf.parse("2023-10-05");
// 使用 Calendar 类来处理日期
Calendar startCalendar = Calendar.getInstance();
startCalendar.setTime(startDate);
Calendar endCalendar = Calendar.getInstance();
endCalendar.setTime(endDate);
// 计算年份和月份的差异
int yearDiff = endCalendar.get(Calendar.YEAR) - startCalendar.get(Calendar.YEAR);
int monthDiff = endCalendar.get(Calendar.MONTH) - startCalendar.get(Calendar.MONTH);
// 总的月份差异
int totalMonthsBetween = yearDiff * 12 + monthDiff;
// 输出结果
System.out.println("相差的月数: " + totalMonthsBetween);
} catch (ParseException e) {
e.printStackTrace();
}
}
}