public static String[] getTimeInterval(String date) throws ParseException {
SimpleDateFormat simpleDateFormat = DateTools.getSimpleDateFormat()
simpleDateFormat.applyPattern("yyyy-MM-dd")
Date parse = simpleDateFormat.parse(date)
Calendar cal = Calendar.getInstance()
cal.setTime(parse)
// 判断要计算的日期是否是周日,如果是则减一天计算周六的,否则会出问题,计算到下一周去了
int dayWeek = cal.get(Calendar.DAY_OF_WEEK)
if (1 == dayWeek) {
cal.add(Calendar.DAY_OF_MONTH, -1)
}
// System.out.println("要计算日期为:" + sdf.format(cal.getTime()))
// 设置一个星期的第一天,按中国的习惯一个星期的第一天是星期一
cal.setFirstDayOfWeek(Calendar.MONDAY)
// 获得当前日期是一个星期的第几天
int day = cal.get(Calendar.DAY_OF_WEEK)
// 根据日历的规则,给当前日期减去星期几与一个星期第一天的差值
cal.add(Calendar.DATE, cal.getFirstDayOfWeek() - day - 1)
String imptimeBegin = DateTools.getSimpleDateFormat().format(
cal.getTime())
System.out.println("所在周星期一的日期:" + imptimeBegin)
cal.add(Calendar.DATE, 7)
String imptimeEnd = DateTools.getSimpleDateFormat().format(
cal.getTime())
System.out.println("所在周星期日的日期:" + imptimeEnd)
return (imptimeBegin + "," + imptimeEnd).split(",")
}
/**
* UtilsMethod 获取一个月有多少天
*
* @throws ParseException
*/
public static int getMonthDays(String date) throws ParseException {
SimpleDateFormat simpleDateFormat = DateTools.getSimpleDateFormat();
simpleDateFormat.applyPattern("yyyy-MM-dd");
Date parse = simpleDateFormat.parse(date);
Calendar cal = Calendar.getInstance();
cal.setTime(parse);
int maximum = cal.getActualMaximum(Calendar.DATE);
return maximum;
}
private static Map<String, String> getFirstday_Lastday_Month(String date)
throws ParseException {
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar = Calendar.getInstance();
calendar.setTime(df.parse(date));
Date theDate = calendar.getTime();
GregorianCalendar gcLast = (GregorianCalendar) Calendar.getInstance();
gcLast.setTime(theDate);
gcLast.set(Calendar.DAY_OF_MONTH, 1);
String day_first = df.format(gcLast.getTime());
StringBuffer str = new StringBuffer().append(day_first);
day_first = str.toString();
System.out.println(day_first);
calendar.add(Calendar.MONTH, 1);
calendar.set(Calendar.DATE, 1);
calendar.add(Calendar.DATE, -1);
String day_last = df.format(calendar.getTime());
StringBuffer endStr = new StringBuffer().append(day_last);
day_last = endStr.toString();
System.out.println(day_last);
Map<String, String> map = new HashMap<String, String>();
map.put("first", day_first);
map.put("last", day_last);
return map;
}