| | |
| | | * 日期格式(yyyy-MM-dd HH) |
| | | * */ |
| | | public static final String yyyy_MM_dd_HH_EN = "yyyy-MM-dd HH"; |
| | | /* |
| | | * 日期格式(MM-dd) |
| | | * */ |
| | | public static final String MM_dd_EN = "MM-dd"; |
| | | |
| | | /* |
| | | * Date类toString格式 |
| | |
| | | return dateToDateString(now.getTime(), formatStr); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 获取指定日期day天后的一个(formatStr)的字符串 |
| | | * |
| | | * @param date |
| | | * @param date, |
| | | * @param hours |
| | | * @return |
| | | */ |
| | | public static Date getDateAddHour(Date date,int hours) { |
| | | Calendar now = Calendar.getInstance(TimeZone.getDefault()); |
| | | now.setTime(date); |
| | | now.add(Calendar.HOUR_OF_DAY, hours); |
| | | return now.getTime(); |
| | | } |
| | | |
| | | /** |
| | | * @Description: 获取指定日期day天后的日期 |
| | | * @Param: [date, day] |
| | |
| | | } |
| | | return new Date(); |
| | | } |
| | | |
| | | |
| | | |
| | | public static String getAfterNDays(Date date, int n, String formateStr) { |
| | | SimpleDateFormat sdf = new SimpleDateFormat(formateStr); |
| | |
| | | cal.setTime(date); |
| | | final int last = cal.getActualMinimum(Calendar.DAY_OF_YEAR); |
| | | cal.set(Calendar.DAY_OF_YEAR, last); |
| | | cal.set(Calendar.HOUR_OF_DAY,0); |
| | | cal.set(Calendar.MINUTE,0); |
| | | cal.set(Calendar.SECOND,0); |
| | | cal.set(Calendar.HOUR_OF_DAY, 0); |
| | | cal.set(Calendar.MINUTE, 0); |
| | | cal.set(Calendar.SECOND, 0); |
| | | return cal.getTime(); |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | /* |
| | | * 获取指定日期月的第一天 |
| | | * */ |
| | | public static Date getFirstDayOfMonth(Date date){ |
| | | * 获取指定日期月的第一天 |
| | | * */ |
| | | public static Date getFirstDayOfMonth(Date date) { |
| | | final Calendar cal = Calendar.getInstance(); |
| | | cal.setTime(date); |
| | | final int last = cal.getActualMinimum(Calendar.DAY_OF_MONTH); |
| | | cal.set(Calendar.DAY_OF_MONTH, last); |
| | | cal.set(Calendar.HOUR_OF_DAY,0); |
| | | cal.set(Calendar.MINUTE,0); |
| | | cal.set(Calendar.SECOND,0); |
| | | cal.set(Calendar.HOUR_OF_DAY, 0); |
| | | cal.set(Calendar.MINUTE, 0); |
| | | cal.set(Calendar.SECOND, 0); |
| | | return cal.getTime(); |
| | | } |
| | | |
| | |
| | | final Calendar cal = Calendar.getInstance(); |
| | | cal.setTime(date); |
| | | final int last = cal.getActualMaximum(Calendar.DAY_OF_MONTH); |
| | | cal.set(Calendar.DAY_OF_YEAR, last); |
| | | cal.set(Calendar.DAY_OF_MONTH, last); |
| | | cal.set(Calendar.HOUR_OF_DAY, 23); |
| | | cal.set(Calendar.MINUTE, 59); |
| | | cal.set(Calendar.SECOND, 59); |
| | |
| | | int year = cal.get(Calendar.YEAR); |
| | | return year == currentYear; |
| | | } |
| | | |
| | | /* |
| | | * 判断日期是否为本月 |
| | | * */ |
| | | public static boolean isCurrentMonth(Date date) { |
| | | Calendar cal = Calendar.getInstance(); |
| | | cal.setTime(new Date()); |
| | | int currentYear = cal.get(Calendar.MONTH); |
| | | cal.setTime(date); |
| | | int year = cal.get(Calendar.MONTH); |
| | | return year == currentYear; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 获取当前月的最后一天 |
| | |
| | | return calendar.getTime(); |
| | | } |
| | | |
| | | //加减年份 |
| | | public static Date addYears(Date date, int years) { |
| | | Calendar calendar = Calendar.getInstance(); |
| | | calendar.setTime(date); |
| | | calendar.add(Calendar.YEAR, years); |
| | | return calendar.getTime(); |
| | | } |
| | | |
| | | /** |
| | | * <p> |
| | | * Title: getDays |
| | |
| | | String lastYear = getDateAddYear(DateUtils.dateToDateString(getDate(), DateUtils.yyyy), -1); |
| | | return DateUtils.getDate(lastYear, DateUtils.yyyy); |
| | | } |
| | | |
| | | //获取一天中每个小时的前后一小时集合 |
| | | public static Map<Date, List<Integer>> getBeforeAndAfterHourDate(Date date) { |
| | | String s = dateToDateString(date, yyyy_MM_dd_EN); |
| | | List<String> timeLag = getTimeLag(s); |
| | | Map<Date, List<Integer>> result = new HashMap<>(); |
| | | for (String s1 : timeLag) { |
| | | List<Integer> objects = new ArrayList<>(); |
| | | Date current = getDate(s1, yyyy_MM_dd_HH_EN); |
| | | Date before = addHours(current, -1); |
| | | Date after = addHours(current, 1); |
| | | objects.add(getHour(before)); |
| | | objects.add(getHour(current)); |
| | | objects.add(getHour(after)); |
| | | result.put(current, objects); |
| | | } |
| | | return result; |
| | | } |
| | | } |