「Java11」当月の最初の日、最後の日の取得サンプル
環境
JavaSE-11 Eclipse 4.14.0
構文
1.Calendar.DAY_OF_WEEK
曜日を示します。
2.public final Date getTime()
getTimeメソッドを利用することで、カレンダーから現在の時刻をDateオブジェクトとして取得できます。
3.DAY_OF_MONTH
月の日を示します。
4.getFirstDayOfWeek()
週の最初の日が何であるかを取得します。
使用例
package com.arkgame.study; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class TestDemo { public static void main(String[] args) throws ParseException { Calendar calendar = Calendar.getInstance(); calendar.setTime(new Date()); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat sdfall = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); System.out.println("日付の開始、終了時間"); //日付の開始、終了時間 Date startDate = sdf.parse(sdf.format(calendar.getTime())); Date endDate = sdfall.parse(sdf.format(calendar.getTime()) + " 23:59:59"); System.out.println(startDate.toString()); System.out.println(endDate.toString()); System.out.println("\n週の最初の日、最後の日"); //週の最初の日、最後の日 calendar.setFirstDayOfWeek(Calendar.MONDAY); calendar.set(Calendar.DAY_OF_WEEK, calendar.getFirstDayOfWeek()); Date startDate2 = sdf.parse(sdf.format(calendar.getTime())); calendar.set(Calendar.DAY_OF_WEEK, calendar.getFirstDayOfWeek() + 6); Date endDate2 = sdfall.parse(sdf.format(calendar.getTime()) + " 23:59:59"); System.out.println(startDate2.toString()); System.out.println(endDate2.toString()); System.out.println("\n当月の最初の日、最後の日"); //当月の最初の日、最後の日 calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), 1); Date startDate3 = sdf.parse(sdf.format(calendar.getTime())); calendar.roll(Calendar.DATE, -1); Date endDate3 = sdfall.parse(sdf.format(calendar.getTime()) + " 23:59:59"); System.out.println(startDate3.toString()); System.out.println(endDate3.toString()); } }
実行結果
日付の開始、終了時間 Fri Jul 01 00:00:00 JST 2022 Fri Jul 01 23:59:59 JST 2022 週の最初の日、最後の日 Mon Jun 27 00:00:00 JST 2022 Sun Jul 03 23:59:59 JST 2022 当月の最初の日、最後の日 Fri Jul 01 00:00:00 JST 2022 Sun Jul 31 23:59:59 JST 2022