之路 on it Road.com

[Java 7] Date类添加日期

在 Java 7 之前,将天数添加到 Date的唯一好方法是使用 Calendar类。
它的 calendar.add()方法采用各种时间单位的参数来操作日期。
它可用于在基础 Date类中添加天、月或者任何时间单位。

Date today = new Date();
System.out.println(today);		 
Calendar cal = Calendar.getInstance();
cal.setTime(today);
// manipulate date
cal.add(Calendar.YEAR, 1);
cal.add(Calendar.MONTH, 1);
cal.add(Calendar.DATE, 1); 
cal.add(Calendar.DAY_OF_MONTH, 1);
// convert calendar to date
Date modifiedDate = cal.getTime();
System.out.println(modifiedDate);

Java 8 LocalDateTime 加减天数

如果我们使用的是 JDK 1.8 或者更高版本,则推荐使用此方法。
新的java.time类例如:LocalDateLocalDateTimeZoneDateTime具有plusminus方法,可用于从任何时刻添加或者减去时间单位。

下面的方法:我们可以在没有 Calendar 的情况下将天数添加到 Date 。

LocalDateTime today =  LocalDateTime.now();		 
LocalDateTime tomorrow = today.plusDays(1);		// 加1天
LocalDateTime yesterday = today.minusDays(1);	// 减1天
System.out.println(today);			//2018-07-14
System.out.println(tomorrow);		//2018-07-15
System.out.println(yesterday);		//2018-07-13
LocalDateTime sameDayNextMonth = today.plusMonths(1);		//2018-08-14
LocalDateTime sameDayLastMonth = today.minusMonths(1);		//2018-06-14
LocalDateTime sameDayNextYear = today.plusYears(1);		//2019-07-14
LocalDateTime sameDayLastYear = today.minusYears(1);	//2017-07-14
//Get Date from LocalDateTime 
//Not recommended. Use when you have no options in legacy code.
Date currentDatePlusOneDay = Date.from(tomorrow.atZone(ZoneId.systemDefault()).toInstant());
System.out.println(currentDatePlusOneDay);
Java 日期加减示例
日期:2020-09-17 00:09:47 来源:oir作者:oir