} else
return false;
}
/***********************
* 获取某个月的最后一天
* @param date String类型的时间
* @return String日期,返回格式:[yyyy-MM-dd]
* @throws ParseException
*/
public static String getEndDateOfMonth(String date) throws ParseException {// yyyy-MM-dd
String str = date.substring(0, 8);
String month = date.substring(5, 7);
int mon = Integer.parseInt(month);
if (mon == 1 || mon == 3 || mon == 5 || mon == 7 || mon == 8 || mon == 10 || mon == 12) {
str += "31";
} else if (mon == 4 || mon == 6 || mon == 9 || mon == 11) {
str += "30";
} else {
if (isLeapYear(date)) {
str += "29";
} else {
str += "28";
}
}
return str;
}
/*******************
* 判断两个日期是否在同一周
* @param date1 Date类型的时间
* @param date2 Date类型的时间
* @return boolean
*/
public static boolean isSameWeekDates(Date date1, Date date2) {
Calendar cal1 = Calendar.getInstance();
Calendar cal2 = Calendar.getInstance();
cal1.setTime(date1);
cal2.setTime(date2);
int subYear = cal1.get(Calendar.YEAR) - cal2.get(Calendar.YEAR);
if (0 == subYear) {
return true;
} else if (1 == subYear && 11 == cal2.get(Calendar.MONTH)) {
// 如果12月的最后一周横跨来年第一周的话则最后一周即算做来年的第一周
if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR))
return true;
} else if (-1 == subYear && 11 == cal1.get(Calendar.MONTH)) {
if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR))
return true;
}
return false;
}
/**************
* 根据一个日期,返回是星期几的字符串
* @param date Date类型的日期
* @return
*/
public static String getWeekStr(Date date){
Calendar c = Calendar.getInstance();
c.setTime(date);
String str=new SimpleDateFormat("EEEE").format(c.getTime());
if("1".equals(str)){
str = "星期日";
}else if("2".equals(str)){
str = "星期一";
}else if("3".equals(str)){
str = "星期二";
}else if("4".equals(str)){
str = "星期三";
}else if("5".equals(str)){
str = "星期四";
}else if("6".equals(str)){
str = "星期五";
}else if("7".equals(str)){
str = "星期六";
}
return str;
}
}