| | |
| | | date = date.substring(0,i); |
| | | } |
| | | } |
| | | //TimeZone tz = TimeZone.getTimeZone("GMT-01"); |
| | | //TimeZone tz = TimeZone.getTimeZone("GMT-01");2024-10-21T10:40:04+08:00 |
| | | DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS"); |
| | | // DateFormat df = new SimpleDateFormat("2023-12-08 T 09:25:54.698+08:00"); |
| | | df.setTimeZone(tz); |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 获取X月份之前的月份数 |
| | | * @param currentDate |
| | | * @param month |
| | | * @return |
| | | */ |
| | | public static List<String> getBeforMonth(Date currentDate , Integer month) { |
| | | SimpleDateFormat sdfYear = new SimpleDateFormat("yyyy"); |
| | | SimpleDateFormat sdfMonth = new SimpleDateFormat("MM"); |
| | | int currentYear = Integer.parseInt(sdfYear.format(currentDate)); |
| | | int currentMonth = Integer.parseInt(sdfMonth.format(currentDate)); |
| | | List<String> list = new ArrayList<>(); |
| | | |
| | | for (int i = 0; i < month; i++) { |
| | | int tempYear = currentYear; |
| | | int tempMonth = currentMonth - i; |
| | | |
| | | if (tempMonth <= 0) { |
| | | tempYear--; |
| | | tempMonth += 12; |
| | | } |
| | | list.add(tempYear +"-" + StringUtils.leftPad(Integer.toString(tempMonth),2,"0")); |
| | | } |
| | | return list; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | public static List<String> getBeforDays(Date currentDate,Integer days){ |
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); |
| | | Calendar calendar = Calendar.getInstance(); |
| | | calendar.setTime(currentDate); |
| | | Date endDate = currentDate; // 获取当前日期 |
| | | calendar.add(Calendar.DAY_OF_YEAR, -days); // 往前推7天 |
| | | Date startDate = calendar.getTime(); // 获取推算后的日期 |
| | | List<String> list = new ArrayList<>(); |
| | | while (startDate.before(endDate)) { |
| | | calendar.add(Calendar.DAY_OF_YEAR, 1); // 获取下一天日期 |
| | | startDate = calendar.getTime(); |
| | | list.add(DateUtil.dateToString(startDate,"yyyy-MM-dd")); |
| | | System.out.println(DateUtil.dateToString(startDate,"yyyy-MM-dd")); |
| | | } |
| | | return list; |
| | | } |
| | | |
| | | /** |
| | | * Descrption:取得当前日期时间,格式为:YYYYMMDDHHMISS |
| | | * |
| | |
| | | * @return String |
| | | * @throws Exception |
| | | */ |
| | | public static String getPlusTime(Date date) throws Exception { |
| | | public static String getPlusTime(Date date) { |
| | | if (date == null) |
| | | return null; |
| | | try { |
| | |
| | | } |
| | | |
| | | /** |
| | | * 得到X分钟后的时间(时间格式) |
| | | * |
| | | * @param date |
| | | * @param minute |
| | | * @return |
| | | */ |
| | | public static Date getXMinuteAfterDate(Date date, int minute) { |
| | | if(date ==null){ |
| | | date = new Date(); |
| | | } |
| | | Calendar now = Calendar.getInstance(); |
| | | now.setTime(date); |
| | | now.set(Calendar.MINUTE, now.get(Calendar.MINUTE) + minute); |
| | | return now.getTime(); |
| | | } |
| | | |
| | | /** |
| | | * 得到两个日期之间相差的天数 |
| | | * |
| | | * @param newDate |
| | |
| | | public static String getFirstDayOfThisMonth() { |
| | | try { |
| | | return getNowShortDate().substring(0, 6) + "01"; |
| | | } catch (Exception e) { |
| | | return ""; |
| | | } |
| | | } |
| | | public static String getFirstDayCurrentMonth() { |
| | | try { |
| | | return getDateLong(new Date()).substring(0, 7) + "-01"; |
| | | } catch (Exception e) { |
| | | return ""; |
| | | } |
| | |
| | | // System.out.println(DateUtil.afterMinutesDate(-5)); |
| | | |
| | | |
| | | Date startTime = DateUtil.StringToDate("2024-05-01 08:00:00" ,"yyyy-MM-dd HH:mm:ss"); |
| | | Date endTime = DateUtil.StringToDate("2024-05-01 17:00:00" ,"yyyy-MM-dd HH:mm:ss"); |
| | | Long intervalTime = 35L; |
| | | DateUtil.getBeforDays(new Date(),7); |
| | | |
| | | |
| | | DateUtil.checkDateInterval( startTime.toInstant() |
| | | .atZone(ZoneId.systemDefault()) |
| | | .toLocalDateTime(), endTime.toInstant() |
| | | .atZone(ZoneId.systemDefault()) |
| | | .toLocalDateTime(),intervalTime); |
| | | // Date startTime = DateUtil.StringToDate("2024-05-01 08:00:00" ,"yyyy-MM-dd HH:mm:ss"); |
| | | // Date endTime = DateUtil.StringToDate("2024-05-01 17:00:00" ,"yyyy-MM-dd HH:mm:ss"); |
| | | // Long intervalTime = 35L; |
| | | // |
| | | // |
| | | // DateUtil.checkDateInterval( startTime.toInstant() |
| | | // .atZone(ZoneId.systemDefault()) |
| | | // .toLocalDateTime(), endTime.toInstant() |
| | | // .atZone(ZoneId.systemDefault()) |
| | | // .toLocalDateTime(),intervalTime); |
| | | |
| | | } catch (Exception ex) { |
| | | ex.printStackTrace(); |