1、计算当前月总共的天数
/**
* 计算当前月有多少天
*
* @return
*/
public int getDays(int year, int month) {
int days = 0;
if (month != 2) {
switch (month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
days = 31;
break;
case 4:
case 6:
case 9:
case 11:
days = 30;
}
} else {
// 闰年
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
days = 29;
else
days = 28;
}
System.out.println("当月有" + days + "天!");
return days;
}
2、获取当前月开始与结束日期
/**
* 获得当前月开始和结束的日期
*
* @param monthString
* @param days
* @return
*/
public Map getBeginAndEndDate() {
Map map = new HashMap();
// 获得当前年、月
Calendar date = Calendar.getInstance();
String yearString = String.valueOf(date.get(Calendar.YEAR));
// String.valueOf(date.get(Calendar.MONTH));是获得上个月份
String monthString = String.valueOf(date.get(Calendar.MONTH) + 1);
// 当前月开始的日期
String beginString = yearString + "-" + monthString + "-01";// 当前月第一天的日期字符串
int year = Integer.parseInt(yearString);
int month = Integer.parseInt(monthString);
// 调用查找当前月有多少天的方法
int days = getDays(year, month);
String endString = yearString + "-" + monthString + "-" + days;// 当前月最后一天的日期字符串
// 调用字符串转换成日期格式的方法
DateFormat df = new DateFormat();
Date benginDate = df.StringFormatToDate(beginString);
Date endDate = df.StringFormatToDate(endString);
map.put("benginDate", benginDate);
map.put("endDate", endDate);
return map;
};