`
monica617
  • 浏览: 7805 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多
这次做一个系统,用到了根据日期查询,设置了一个默认的起始时间和一个默认的结束时间。起始时间设置的是当前月的第一天,结束时间是当前月的最后一天。
		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();
	}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics