Java获取指定月份的最后一天详解编程语言

import java.text.SimpleDateFormat; 
import java.util.Calendar; 
 
public class DUtil {
    
	public static String getLastDayOfMonth(String yearMonth) {
    
		int year = Integer.parseInt(yearMonth.split("-")[0]);  //年 
		int month = Integer.parseInt(yearMonth.split("-")[1]); //月 
		Calendar cal = Calendar.getInstance(); 
		// 设置年份 
		cal.set(Calendar.YEAR, year); 
		// 设置月份 
		// cal.set(Calendar.MONTH, month - 1); 
		cal.set(Calendar.MONTH, month); //设置当前月的上一个月 
		// 获取某月最大天数 
		//int lastDay = cal.getActualMaximum(Calendar.DATE); 
		int lastDay = cal.getMinimum(Calendar.DATE); //获取月份中的最小值,即第一天 
		// 设置日历中月份的最大天数 
		//cal.set(Calendar.DAY_OF_MONTH, lastDay); 
		cal.set(Calendar.DAY_OF_MONTH, lastDay - 1); //上月的第一天减去1就是当月的最后一天 
		// 格式化日期 
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); 
		return sdf.format(cal.getTime()); 
	} 
	 
	public static void main(String[] args) {
    
		System.out.println(getLastDayOfMonth("2019-02")); 
	} 
} 

输出:

2019-02-28 

PS:2月份获取的最后一天日期不对,抱歉,已改正。
修改为:用当前月的上个月的第一天减去1就是当月的最后一天。
更正:2019-11-29

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/19179.html

(0)
上一篇 2021年7月19日 21:45
下一篇 2021年7月19日 21:52

相关推荐

发表回复

登录后才能评论