「Java11」当月の最初の日、最後の日の取得サンプル

2022年7月1日

環境

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

 

Java

Posted by arkgame