Java根据一个指定的年月获取此月份的月初和月末

一、根据指定年月获取月初和月末

/**
	 * 根据年月获取月初第一天日期
	 * @param year
	 * @param month
	 * @return
	 */
	public static String getFirstDay(int year,int month,String format) {
    	Calendar calendar = Calendar.getInstance();
    	calendar.set(Calendar.YEAR, year);
    	calendar.set(Calendar.MONTH, month-1);
    	calendar.set(Calendar.DAY_OF_MONTH, 1);
    	
    	Date startDate = calendar.getTime();
		
    	SimpleDateFormat sdf = new SimpleDateFormat(format);
    	String formattedStartDate = sdf.format(startDate);
    	
		return formattedStartDate;
    }
	
	
	/**
	 * 根据年月获取月末最后一天日期
	 * @param year
	 * @param month
	 * @return
	 */
	public static String getLastDay(int year,int month,String format) {
    	Calendar calendar = Calendar.getInstance();
    	calendar.set(Calendar.YEAR, year);
    	calendar.set(Calendar.MONTH, month);
		
    	calendar.set(Calendar.DAY_OF_MONTH, 1);
    	
    	calendar.add(Calendar.DAY_OF_MONTH, -1);
    	Date endDate = calendar.getTime();
		
    	SimpleDateFormat sdf = new SimpleDateFormat(format);
    	String formattedEndDate = sdf.format(endDate);
		
		return formattedEndDate;
    }

二、根据当前系统日期获取月初和月末

    /**
     * 获取本月最后一天
     * @return
     */
    public static String getLastDay(String format) {
    	Calendar cale = Calendar.getInstance();

    	int lastDay = cale.getActualMaximum(Calendar.DAY_OF_MONTH);//获取月最大天数
    	cale.set(Calendar.DAY_OF_MONTH, lastDay);//设置日历中月份的最大天数
    	SimpleDateFormat sdf = new SimpleDateFormat(format);//格式化日期yyyy-MM-dd
    	String lastDayOfMonth = sdf.format(cale.getTime());
    	return lastDayOfMonth;
    }
    
    /**
     * 获取本月第一天
     * @return
     */
    public static String getFirstDay(String format) {
    	Calendar cale = Calendar.getInstance();

    	int lastDay = cale.getActualMinimum(Calendar.DAY_OF_MONTH);//获取月最大天数
    	cale.set(Calendar.DAY_OF_MONTH, lastDay);//设置日历中月份的最大天数
    	SimpleDateFormat sdf = new SimpleDateFormat(format);//格式化日期yyyy-MM-dd
    	String lastDayOfMonth = sdf.format(cale.getTime());
    	return lastDayOfMonth;
    }

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Male晓

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值