欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

当前月的第一天和最后一天  

程序员文章站 2024-02-25 21:27:15
...
这次做一个系统,用到了根据日期查询,设置了一个默认的起始时间和一个默认的结束时间。起始时间设置的是当前月的第一天,结束时间是当前月的最后一天。
		Calendar cal = Calendar.getInstance();
		//当前月的1号
		int minDayNum = cal.getActualMinimum(Calendar.DATE);
		//当前月最大的天数
		int maxDayNum = cal.getActualMaximum(Calendar.DATE);
		
		cal.set(Calendar.DATE, minDayNum);
		//当前月的1号
		Date minDay = cal.getTime();
		System.err.println(DateFormat.getDateInstance().format(minDay));
		
		cal.set(Calendar.DATE, maxDayNum);
		//当前月的最大的那一天
		Date maxDay = cal.getTime();
		System.err.println(DateFormat.getDateInstance().format(maxDay));


补充一点:
考虑到这样只能得到当前月的第一天和最后一天,不是很灵活。我由设计了两个方法,可以输入年份和月份,得到你想要的那月的第一天和最后一天。
	/**
	 * 
	 * @param year 年份
	 * @param month 月份
	 * @return 这个月的1号
	 */
	private static Date getFirstMonthDay(int year,int month)	{
		
		Calendar cal = Calendar.getInstance();
		//1号。这里要注意:month要减去1
		cal.set(year, month-1, 1);
		
		return cal.getTime();
	}
	
	/**
	 * 
	 * @param year 年份
	 * @param month 月份
	 * @return 这个月的最后一天
	 */
	private static Date getLastMonthDay(int year,int month)	{
		
		Calendar cal = Calendar.getInstance();
		cal.set(year, month-1, 1);
		//该月的最大的天数
		int maxDayNo = cal.getActualMaximum(Calendar.DATE);
		
		cal.set(Calendar.DATE, maxDayNo);
		return cal.getTime();
	}