Java 日期加减运算推荐写法1. Java 8 推荐LocalDateTime / LocalDateimport java.time.LocalDate;import java.time.LocalDateTime;import java.time.temporal.ChronoUnit;public class DateTest {public static void main(String[] args) {// 当前时间LocalDateTime now LocalDateTime.now();System.out.println(当前时间 now);// 加LocalDateTime plus1Day now.plusDays(1); // 加1天LocalDateTime plus1Hour now.plusHours(1); // 加1小时LocalDateTime plus1Month now.plusMonths(1); // 加1个月LocalDateTime plus1Year now.plusYears(1); // 加1年// 减LocalDateTime minus1Day now.minusDays(1); // 减1天LocalDateTime minus1Hour now.minusHours(1); // 减1小时// 通用方式加任意单位LocalDateTime plus now.plus(5, ChronoUnit.MINUTES); // 加5分钟}}LocalDate 用法一模一样只是没有时分秒。2. 老版本Date / Calendarimport java.util.Calendar;import java.util.Date;public class DateTest {public static void main(String[] args) {Date date new Date();Calendar cal Calendar.getInstance();cal.setTime(date);// 加cal.add(Calendar.DAY_OF_MONTH, 1); // 加1天cal.add(Calendar.HOUR, 1); // 加1小时cal.add(Calendar.MONTH, 1); // 加1月// 减cal.add(Calendar.DAY_OF_MONTH, -1); // 减1天Date newDate cal.getTime();}}3. 计算两个日期相差多少天LocalDate d1 LocalDate.of(2025, 1, 1);LocalDate d2 LocalDate.of(2025, 1, 10);long days ChronoUnit.DAYS.between(d1, d2); // 相差天数总结• 新项目一律用 Java 8 的 LocalDate / LocalDateTime• 线程安全、API 清晰、无坑• 加减plusXxx() / minusXxx()