| | |
| | | } |
| | | |
| | | |
| | | |
| | | // 获取本周的开始时间 |
| | | 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; |
| | | } |
| | | } |