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

这次做一个系统,用到了根据日期查询,设置了一个默认的起始时间和一个默认的结束时间。起始时间设置的是当前月的第一天,结束时间是当前月的最后一天。

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();
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值