【Java】Date型の日付操作
Date型と言えば、Javaで日付を扱う際に欠かせいため使う頻度は多いです。
地味に面倒くさいのが、現在日時から1時間進んだ日時が欲しい時とか。
自分で1時間進めようと思うとCalendarクラスを使う必要があります。
こんな感じですね。
Main.java
import java.util.Calendar; import java.util.Date; public class Main { public static void main(String[] args) { Calendar calendar = Calendar.getInstance(); System.out.println(calendar.getTime() + " (現在日時)"); calendar.add(Calendar.HOUR_OF_DAY, 1); System.out.println(calendar.getTime() + " (現在日時+1時間)"); Date date = calendar.getTime(); } }
実行結果
Fri Nov 23 21:05:52 JST 2018 (現在日時) Fri Nov 23 22:05:52 JST 2018 (現在日時+1時間)
Calendarで現在日時の取得、現在日時から1時間足した日時を作成します。
一応証跡のためコンソール出力しています。
Calendarの日時はgetTime()メソッドでDate型として取得できます。
うーん、1時間後の時刻が欲しいだけなのにちょっと手間ですよね。
そこでDateUtilsの出番です。
jarはコチラからダウンロードしてください。
Binariesのzipを解凍し、commons-lang3-3.8.1.jarをビルドパス通すと使えます。
Main.java
import java.util.Date; import org.apache.commons.lang3.time.DateUtils; public class Main { public static void main(String[] args) { Date nowDate = new Date(); System.out.println(nowDate + " (現在日時)"); Date date = DateUtils.addHours(nowDate, 1); System.out.println(date + " (現在日時+1時間"); } }
実行結果
Fri Nov 23 21:07:50 JST 2018 (現在日時) Fri Nov 23 22:07:50 JST 2018 (現在日時+1時間)
スッキリです。
一発で1時間後の日時を取得したい場合は
Date date = DateUtils.addHours(new Date(), 1);
でOKです。簡単ですね。
他にも分や秒、日も同じようにaddメソッドで操作できます。
今回は以上になります。