【Java】月初日と月末日の求め方

Javaを使って渡した日付の月初日と月末日を求めるサンプルを作成しました。

 

サンプルソース

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class Sample {

	public static void main(String[]args) throws ParseException {

		SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
		
		Date now = new Date();
		System.out.println("今日の日付 : " + sdf.format(now));

		System.out.println("月初日の日付 : " + sdf.format(getFirstDate(now)));

		System.out.println("月末日の日付 : " + sdf.format(getLastDate(now)));

	}

	// 月初日を返す
	public static Date getFirstDate(Date date) {

		if (date==null) return null;

		Calendar calendar = Calendar.getInstance();
		calendar.setTime(date);
		int first = calendar.getActualMinimum(Calendar.DATE);
		calendar.set(Calendar.DATE, first);

		calendar.set(Calendar.HOUR_OF_DAY, 00);
		calendar.set(Calendar.MINUTE, 00);
		calendar.set(Calendar.SECOND, 00);
		calendar.set(Calendar.MILLISECOND, 000);

		return calendar.getTime();
	}

	// 月末日を返す
	public static Date getLastDate(Date date) {

		if (date==null) return null;

		Calendar calendar = Calendar.getInstance();
		calendar.setTime(date);
		int last = calendar.getActualMaximum(Calendar.DATE);
		calendar.set(Calendar.DATE, last);

		calendar.set(Calendar.HOUR_OF_DAY, 23);
		calendar.set(Calendar.MINUTE, 59);
		calendar.set(Calendar.SECOND, 59);
		calendar.set(Calendar.MILLISECOND, 999);

		return calendar.getTime();
	}

}

 

結果

【結果】
今日の日付 : 2020/06/15
月初日の日付 : 2020/06/01
月末日の日付 : 2020/06/30

 



投稿日:2020-06-15    更新日:2020-06-18

[スポンサーリンク]

サイト内検索
プロフィール

プロフィール

[Name : じゃぶじゃぶ(@jbjb_2019)]
都内で社内SEをしているおじさん。
仕事で得られる知識だけでは限界を感じ、 WEBの勉強がてらITブログを開始。
サーバからWEBサイトまでフルスクラッチで開発しました。
現在は勉強のモチベーションを保つために活用中。
興味があることを雑記的に書いていきます。

[スポンサーリンク]

[スポンサードリンク]