今回は日付操作です。
Apache CommonsのDateUtilsを使えば、手作業が減りますね。
Apache CommonsのDateUtilsを使うサンプル
文字列の日付をDateに変換。加算、切り上げ、切り捨て、四捨五入をします。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | import java.util.Calendar; import java.util.Date; import org.apache.commons.lang3.time.DateFormatUtils; import org.apache.commons.lang3.time.DateUtils; public class DateUtilTest { public static void main(String[] args) throws Exception { //日付の文字列をDateへ変換 Date date = DateUtils.parseDate("2023/02/13", "yyyy/MM/dd"); print("元の日付", date); //日付の加算 date = DateUtils.addDays(date, 2); print("2日後の日付", date); //日付の切り上げ print("切り上げ日付", DateUtils.ceiling(date, Calendar.MONTH)); //日付の切り捨て print("切り捨て日付", DateUtils.truncate(date, Calendar.MONTH)); //日付の四捨五入 print("四捨五入日付", DateUtils.round(date, Calendar.MONTH)); } public static void print(String msg,Date date) { //日付をフォーマットして、出力 String strDate = DateFormatUtils.format(date, "yyyy年MM月dd日"); System.out.println(msg + ":" + strDate); } } |
実行結果
元の日付、加算、切り上げ、切り捨て、四捨五入した日付が出力されます。
1 2 3 4 5 | 元の日付:2023年02月13日 2日後の日付:2023年02月15日 切り上げ日付:2023年03月01日 切り捨て日付:2023年02月01日 四捨五入日付:2023年03月01日 |
サンプルの解説
Apache CommonsのDateUtilsを使って日付操作をしています。
標準のDateの場合、たとえば加算するだけでもCalendarへ変換したり、結構めんどうですw
DateUtilsなら、こんな感じで日付の変換、加算などが簡単にできます。
また、切り捨て、切り上げ、四捨五入も、非常に便利。
翌月の1日を求めたい・・なんて、ときにどうぞ。
※このコードを使用するには、別途Apache Commons(Lang)の入手が必要です。
入手方法などは前回の記事に書いてありますので、こちらからどうぞ。