之路 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
类例如:LocalDate
、LocalDateTime
和ZoneDateTime
具有plus
和minus
方法,可用于从任何时刻添加或者减去时间单位。
下面的方法:我们可以在没有 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);
日期:2020-09-17 00:09:47 来源:oir作者:oir