「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