|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 获取本周的开始时间 | 
|---|
|  |  |  | public static Date getBeginDayOfWeek(int addYears) { | 
|---|
|  |  |  | Date date = new Date(); | 
|---|
|  |  |  | if (date == null) { | 
|---|
|  |  |  | return null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | Calendar cal = Calendar.getInstance(); | 
|---|
|  |  |  | cal.setTime(date); | 
|---|
|  |  |  | cal.set(Calendar.YEAR,getNowYearNum()+addYears); | 
|---|
|  |  |  | int dayofweek = cal.get(Calendar.DAY_OF_WEEK); | 
|---|
|  |  |  | if (dayofweek == 1) { | 
|---|
|  |  |  | dayofweek += 7; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | cal.add(Calendar.DATE, 2 - dayofweek); | 
|---|
|  |  |  | return getDayStartTime(cal.getTime()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 获取本周的结束时间 | 
|---|
|  |  |  | public static Date getEndDayOfWeek(int addYears) { | 
|---|
|  |  |  | Calendar cal = Calendar.getInstance(); | 
|---|
|  |  |  | cal.setTime(getBeginDayOfWeek(addYears)); | 
|---|
|  |  |  | cal.add(Calendar.DAY_OF_WEEK, 6); | 
|---|
|  |  |  | Date weekEndSta = cal.getTime(); | 
|---|
|  |  |  | return getDayEndTime(weekEndSta); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 获取上周的开始时间 | 
|---|
|  |  |  | public static Date getBeginDayOfLastWeek() { | 
|---|
|  |  |  | Date date = new Date(); | 
|---|
|  |  |  | if (date == null) { | 
|---|
|  |  |  | return null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | Calendar cal = Calendar.getInstance(); | 
|---|
|  |  |  | cal.setTime(date); | 
|---|
|  |  |  | cal.set(Calendar.YEAR,getNowYearNum()); | 
|---|
|  |  |  | int dayofweek = cal.get(Calendar.DAY_OF_WEEK); | 
|---|
|  |  |  | if (dayofweek == 1) { | 
|---|
|  |  |  | dayofweek += 7; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | cal.add(Calendar.DATE, 2 - dayofweek - 7); | 
|---|
|  |  |  | return getDayStartTime(cal.getTime()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 获取上周的结束时间 | 
|---|
|  |  |  | public static Date getEndDayOfLastWeek() { | 
|---|
|  |  |  | Calendar cal = Calendar.getInstance(); | 
|---|
|  |  |  | cal.setTime(getBeginDayOfLastWeek()); | 
|---|
|  |  |  | cal.add(Calendar.DAY_OF_WEEK, 6); | 
|---|
|  |  |  | Date weekEndSta = cal.getTime(); | 
|---|
|  |  |  | return getDayEndTime(weekEndSta); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 获取本月的开始时间 | 
|---|
|  |  |  | public static Date getBeginDayOfMonth(int addYears) { | 
|---|
|  |  |  | Calendar calendar = Calendar.getInstance(); | 
|---|
|  |  |  | calendar.set(getNowYearNum()+addYears, getNowMonthNum() - 1, 1); | 
|---|
|  |  |  | return getDayStartTime(calendar.getTime()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 获取本月的结束时间 | 
|---|
|  |  |  | public static Date getEndDayOfMonth(int addYears) { | 
|---|
|  |  |  | Calendar calendar = Calendar.getInstance(); | 
|---|
|  |  |  | calendar.set(getNowYearNum()+addYears, getNowMonthNum() - 1, 1); | 
|---|
|  |  |  | int day = calendar.getActualMaximum(5); | 
|---|
|  |  |  | calendar.set(getNowYearNum()+addYears, getNowMonthNum() - 1, day); | 
|---|
|  |  |  | return getDayEndTime(calendar.getTime()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 获取上月的开始时间 | 
|---|
|  |  |  | public static Date getBeginDayOfLastMonth() { | 
|---|
|  |  |  | Calendar calendar = Calendar.getInstance(); | 
|---|
|  |  |  | calendar.set(getNowYearNum(), getNowMonthNum() - 2, 1); | 
|---|
|  |  |  | return getDayStartTime(calendar.getTime()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 获取上月的结束时间 | 
|---|
|  |  |  | public static Date getEndDayOfLastMonth() { | 
|---|
|  |  |  | Calendar calendar = Calendar.getInstance(); | 
|---|
|  |  |  | calendar.set(getNowYearNum(), getNowMonthNum() - 2, 1); | 
|---|
|  |  |  | int day = calendar.getActualMaximum(5); | 
|---|
|  |  |  | calendar.set(getNowYearNum(), getNowMonthNum() - 2, day); | 
|---|
|  |  |  | return getDayEndTime(calendar.getTime()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 获取本年的开始时间 | 
|---|
|  |  |  | public static Date getBeginDayOfYear(int addYears) { | 
|---|
|  |  |  | Calendar cal = Calendar.getInstance(); | 
|---|
|  |  |  | cal.set(Calendar.YEAR, getNowYearNum()+addYears); | 
|---|
|  |  |  | cal.set(Calendar.MONTH, Calendar.JANUARY); | 
|---|
|  |  |  | cal.set(Calendar.DATE, 1); | 
|---|
|  |  |  | return getDayStartTime(cal.getTime()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 获取本年的结束时间 | 
|---|
|  |  |  | public static java.util.Date getEndDayOfYear(int addYears){ | 
|---|
|  |  |  | Calendar cal = Calendar.getInstance(); | 
|---|
|  |  |  | cal.set(Calendar.YEAR, getNowYearNum()+addYears); | 
|---|
|  |  |  | cal.set(Calendar.MONTH, Calendar.DECEMBER); | 
|---|
|  |  |  | cal.set(Calendar.DATE, 31); | 
|---|
|  |  |  | return getDayEndTime(cal.getTime()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 获取当天的开始时间 | 
|---|
|  |  |  | public static java.util.Date getDayBegin() { | 
|---|
|  |  |  | Calendar cal = new GregorianCalendar(); | 
|---|
|  |  |  | cal.set(Calendar.HOUR_OF_DAY, 0); | 
|---|
|  |  |  | cal.set(Calendar.MINUTE, 0); | 
|---|
|  |  |  | cal.set(Calendar.SECOND, 0); | 
|---|
|  |  |  | cal.set(Calendar.MILLISECOND, 0); | 
|---|
|  |  |  | return cal.getTime(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 获取当天的结束时间 | 
|---|
|  |  |  | public static java.util.Date getDayEnd() { | 
|---|
|  |  |  | Calendar cal = new GregorianCalendar(); | 
|---|
|  |  |  | cal.set(Calendar.HOUR_OF_DAY, 23); | 
|---|
|  |  |  | cal.set(Calendar.MINUTE, 59); | 
|---|
|  |  |  | cal.set(Calendar.SECOND, 59); | 
|---|
|  |  |  | return cal.getTime(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 获取某个日期的开始时间 | 
|---|
|  |  |  | public static Timestamp getDayStartTime(Date d) { | 
|---|
|  |  |  | Calendar calendar = Calendar.getInstance(); | 
|---|
|  |  |  | if (null != d) | 
|---|
|  |  |  | calendar.setTime(d); | 
|---|
|  |  |  | calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), | 
|---|
|  |  |  | calendar.get(Calendar.DAY_OF_MONTH), 0, 0, 0); | 
|---|
|  |  |  | calendar.set(Calendar.MILLISECOND, 0); | 
|---|
|  |  |  | return new Timestamp(calendar.getTimeInMillis()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 获取某个日期的结束时间 | 
|---|
|  |  |  | public static Timestamp getDayEndTime(Date d) { | 
|---|
|  |  |  | Calendar calendar = Calendar.getInstance(); | 
|---|
|  |  |  | if (null != d) | 
|---|
|  |  |  | calendar.setTime(d); | 
|---|
|  |  |  | calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), | 
|---|
|  |  |  | calendar.get(Calendar.DAY_OF_MONTH), 23, 59, 59); | 
|---|
|  |  |  | calendar.set(Calendar.MILLISECOND, 999); | 
|---|
|  |  |  | return new Timestamp(calendar.getTimeInMillis()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 获取今年是哪一年 | 
|---|
|  |  |  | public static Integer getNowYearNum() { | 
|---|
|  |  |  | Date date = new Date(); | 
|---|
|  |  |  | GregorianCalendar gc = (GregorianCalendar) Calendar.getInstance(); | 
|---|
|  |  |  | gc.setTime(date); | 
|---|
|  |  |  | return Integer.valueOf(gc.get(1)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 获取本月是哪一月 | 
|---|
|  |  |  | public static int getNowMonthNum() { | 
|---|
|  |  |  | Date date = new Date(); | 
|---|
|  |  |  | GregorianCalendar gc = (GregorianCalendar) Calendar.getInstance(); | 
|---|
|  |  |  | gc.setTime(date); | 
|---|
|  |  |  | return gc.get(2) + 1; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|