Java – 現在の日付に日を追加する方法
この記事では、古典的な `java.util.Calendar`と新しいJava 8の日付と時刻のAPIを使用して、現在の日付に日を追加する方法を説明します。
1. Calendar.add
現在の日付に1年、1ヶ月、1日、1時間、1分、1秒を追加する例。
DateExample.java
package com.mkyong.time; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class DateExample { private static final DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); public static void main(String[]args) { Date currentDate = new Date(); System.out.println(dateFormat.format(currentDate)); //convert date to calendar Calendar c = Calendar.getInstance(); c.setTime(currentDate); //manipulate date c.add(Calendar.YEAR, 1); c.add(Calendar.MONTH, 1); c.add(Calendar.DATE, 1);//same with c.add(Calendar.DAY__OF__MONTH, 1); c.add(Calendar.HOUR, 1); c.add(Calendar.MINUTE, 1); c.add(Calendar.SECOND, 1); //convert calendar to date Date currentDatePlusOne = c.getTime(); System.out.println(dateFormat.format(currentDatePlusOne)); } }
出力
2016/11/10 17:11:48 2017/12/11 18:12:49
2. Java 8 Plusマイナス
Java 8では、プラスとマイナスのメソッドを使ってLocalDate、LocalDateTime、ZoneDateTimeを操作できます。次の例を参照してください
LocalDateTimeExample.java
package com.mkyong.time; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.time.LocalDateTime; import java.time.ZoneId; import java.time.format.DateTimeFormatter; import java.util.Date; public class LocalDateTimeExample { private static final String DATE__FORMAT = "yyyy/MM/dd HH:mm:ss"; private static final DateFormat dateFormat = new SimpleDateFormat(DATE__FORMAT); private static final DateTimeFormatter dateFormat8 = DateTimeFormatter.ofPattern(DATE__FORMAT); public static void main(String[]args) { //Get current date Date currentDate = new Date(); System.out.println("date : " + dateFormat.format(currentDate)); //convert date to localdatetime LocalDateTime localDateTime = currentDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime(); System.out.println("localDateTime : " + dateFormat8.format(localDateTime)); //plus one localDateTime = localDateTime.plusYears(1).plusMonths(1).plusDays(1); localDateTime = localDateTime.plusHours(1).plusMinutes(2).minusMinutes(1).plusSeconds(1); //convert LocalDateTime to date Date currentDatePlusOneDay = Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant()); System.out.println("\nOutput : " + dateFormat.format(currentDatePlusOneDay)); } }
出力
date : 2016/11/10 17:40:11 localDateTime : 2016/11/10 17:40:11 Output : 2017/12/11 18:41:12
参考文献
JavaDoc]。リンク://java/java-how-to-get-current-date-time-date-and-calendar/[Java
8 – 日付をLocalDateとLocalDateTimeに変換]
リンク://タグ/変換/[変換]リンク://タグ/日付/[日付]
java.time
java8
localdatetime