old mode 100644
new mode 100755
| | |
| | | public static final String DATE_FORMATE_STRING_I = "yyyy-MM-dd HH:mm:ss.SSS"; |
| | | public static final String DATE_FORMATE_STRING_J = "yyyyMMddHHmmss.SSS"; |
| | | public static final String DATE_FORMATE_STRING_K = "yyyyMMddHHmmssSSS"; |
| | | public static final String DATE_FORMATE_STRING_L = "MMdd"; |
| | | public static final String DATE_FORMATE_STRING_M = "yyyyMM"; |
| | | |
| | | static { |
| | | formats.put("yyyyMMddHHmmss", new SimpleDateFormat("yyyyMMddHHmmss")); |
| | |
| | | formats.put("yyyy-MM-dd HH:mm:ss.SSS", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS")); |
| | | formats.put("yyyyMMddHHmmss.SSS", new SimpleDateFormat("yyyyMMddHHmmss.SSS")); |
| | | formats.put("yyyyMMddHHmmssSSS", new SimpleDateFormat("yyyyMMddHHmmssSSS")); |
| | | formats.put("MMdd", new SimpleDateFormat("MMdd")); |
| | | formats.put("yyyyMM", new SimpleDateFormat("yyyyMM")); |
| | | } |
| | | |
| | | |
| | |
| | | } |
| | | |
| | | public static Date getLastDate() throws ParseException { |
| | | return getDateFromString("3000-01-01", DATE_FORMATE_STRING_B); |
| | | return getDateFromString("2037-12-01", DATE_FORMATE_STRING_B); |
| | | } |
| | | |
| | | /** |
| | |
| | | } |
| | | } |
| | | |
| | | public static Date getDateFromStringB(String date) { |
| | | SimpleDateFormat sDateFormat = getDateFormat(DateUtil.DATE_FORMATE_STRING_B); |
| | | try { |
| | | synchronized (sDateFormat) { |
| | | return sDateFormat.parse(date); |
| | | } |
| | | } catch (Exception e) { |
| | | throw new IllegalArgumentException(e); |
| | | } |
| | | } |
| | | |
| | | public static Date getDateFromStringA(String date) { |
| | | SimpleDateFormat sDateFormat = getDateFormat(DateUtil.DATE_FORMATE_STRING_A); |
| | | try { |
| | | synchronized (sDateFormat) { |
| | | return sDateFormat.parse(date); |
| | | } |
| | | } catch (Exception e) { |
| | | throw new IllegalArgumentException(e); |
| | | } |
| | | } |
| | | |
| | | public static Date getDefaultDateFromString(String date) |
| | | throws ParseException { |
| | | return getDateFromString(date, "yyyyMMddHHmmss"); |
| | |
| | | return getFormatTimeString(new Date(), pattern); |
| | | } |
| | | |
| | | public static String getLastTime(){ |
| | | |
| | | public static String getLastTime() { |
| | | return LAST_TIME; |
| | | } |
| | | |
| | |
| | | return returndate; |
| | | } |
| | | |
| | | public static Date getNextMonthFirstDate() { |
| | | Calendar calendar = Calendar.getInstance(); |
| | | calendar.set(Calendar.DAY_OF_MONTH, 1); |
| | | calendar.set(Calendar.HOUR_OF_DAY, 0); |
| | | calendar.set(Calendar.MINUTE, 0); |
| | | calendar.set(Calendar.SECOND, 0); |
| | | calendar.add(Calendar.MONTH, 1); |
| | | return calendar.getTime(); |
| | | } |
| | | |
| | | public static Date getFirstDate() { |
| | | Calendar curDateCal = Calendar.getInstance(); |
| | | curDateCal.set(Calendar.DAY_OF_MONTH, 1); |
| | | curDateCal.set(Calendar.HOUR_OF_DAY, 0); |
| | | curDateCal.set(Calendar.MINUTE, 0); |
| | | curDateCal.set(Calendar.SECOND, 0); |
| | | Date curDate = curDateCal.getTime(); |
| | | return curDate; |
| | | } |
| | | |
| | | |
| | | public static String getNextMonthFirstDay(String fmt) { |
| | | String returndate = ""; |
| | | Date date = null; |
| | | |
| | | Calendar cl = Calendar.getInstance(); |
| | | cl.set(2, cl.get(2) + 1); |
| | | cl.set(5, 1); |
| | | |
| | | date = cl.getTime(); |
| | | |
| | | Date date = getNextMonthFirstDate(); |
| | | returndate = getFormatTimeString(date, fmt); |
| | | |
| | | return returndate; |
| | |
| | | int maxDate = a.get(Calendar.DATE); |
| | | return maxDate; |
| | | } |
| | | |
| | | public static void main(String[] args) throws ParseException { |
| | | |
| | | // SimpleDateFormat sf = new SimpleDateFormat(DateUtil.DATE_FORMATE_STRING_A); |
| | | // Calendar c = Calendar.getInstance(); |
| | | // c.setTime(DateUtil.getDateFromString("2021-12-03",DateUtil.DATE_FORMATE_STRING_A)); |
| | | // c.add(Calendar.DAY_OF_MONTH, 125); |
| | | // System.out.println("增加一天后日期:"+sf.format(c.getTime())); |
| | | System.out.println("2021-12-07".compareTo(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_B))); |
| | | } |
| | | |
| | | public static String getAddDayString(Date date, String pattern, int days) { |
| | | SimpleDateFormat sf = new SimpleDateFormat(pattern); |
| | | Calendar c = Calendar.getInstance(); |
| | | c.setTime(date); |
| | | c.add(Calendar.DAY_OF_MONTH, days); |
| | | return sf.format(c.getTime()); |
| | | } |
| | | |
| | | public static String getAddDayStringB(Date date, int days) { |
| | | SimpleDateFormat sf = new SimpleDateFormat(DATE_FORMATE_STRING_B); |
| | | Calendar c = Calendar.getInstance(); |
| | | c.setTime(date); |
| | | c.add(Calendar.DAY_OF_MONTH, days); |
| | | return sf.format(c.getTime()); |
| | | } |
| | | |
| | | public static String getAddDayStringA(Date date, int days) { |
| | | SimpleDateFormat sf = new SimpleDateFormat(DATE_FORMATE_STRING_A); |
| | | Calendar c = Calendar.getInstance(); |
| | | c.setTime(date); |
| | | c.add(Calendar.DAY_OF_MONTH, days); |
| | | return sf.format(c.getTime()); |
| | | } |
| | | |
| | | |
| | | public static String getAddMonthStringA(Date date, int month) { |
| | | SimpleDateFormat sf = new SimpleDateFormat(DATE_FORMATE_STRING_A); |
| | | Calendar c = Calendar.getInstance(); |
| | | c.setTime(date); |
| | | c.add(Calendar.MONTH, month); |
| | | return sf.format(c.getTime()); |
| | | } |
| | | |
| | | /** |
| | | * 在给定的日期加上或减去指定月份后的日期 |
| | | * |
| | | * @param sourceDate 原始时间 |
| | | * @param month 要调整的月份,向前为负数,向后为正数 |
| | | * @return |
| | | */ |
| | | public static Date stepMonth(Date sourceDate, int month) { |
| | | Calendar c = Calendar.getInstance(); |
| | | c.setTime(sourceDate); |
| | | c.add(Calendar.MONTH, month); |
| | | |
| | | return c.getTime(); |
| | | } |
| | | |
| | | /** |
| | | * 在给定的日期加上或减去指定天数后的日期 |
| | | * |
| | | * @param sourceDate 原始时间 |
| | | * @param day 要调整的月份,向前为负数,向后为正数 |
| | | * @return |
| | | */ |
| | | public static Date stepDay(Date sourceDate, int day) { |
| | | Calendar c = Calendar.getInstance(); |
| | | c.setTime(sourceDate); |
| | | c.add(Calendar.DATE, day); |
| | | return c.getTime(); |
| | | } |
| | | |
| | | public static String dateTimeToDate(String dateTime) { |
| | | String dateStr = ""; |
| | | try { |
| | | Date date = getDateFromString(dateTime, DATE_FORMATE_STRING_A); |
| | | dateStr = getFormatTimeString(date, DATE_FORMATE_STRING_B); |
| | | } catch (ParseException e) { |
| | | dateStr = dateTime; |
| | | } |
| | | |
| | | return dateStr; |
| | | } |
| | | |
| | | |
| | | public static int getYear() { |
| | | Date date = getCurrentDate(); |
| | | Calendar calendar = Calendar.getInstance(); |
| | | calendar.setTime(date); |
| | | return calendar.get(Calendar.YEAR); |
| | | } |
| | | |
| | | public static int getMonth() { |
| | | Date date = getCurrentDate(); |
| | | Calendar calendar = Calendar.getInstance(); |
| | | calendar.setTime(date); |
| | | return calendar.get(Calendar.MONTH) + 1; |
| | | } |
| | | |
| | | /** |
| | | * 判断时间是否在时间段内 |
| | | * |
| | | * @param nowTime |
| | | * @param beginTime |
| | | * @param endTime |
| | | * @return |
| | | */ |
| | | public static boolean belongCalendar(Date nowTime, Date beginTime, Date endTime) { |
| | | Calendar date = Calendar.getInstance(); |
| | | date.setTime(nowTime); |
| | | Calendar begin = Calendar.getInstance(); |
| | | begin.setTime(beginTime); |
| | | Calendar end = Calendar.getInstance(); |
| | | end.setTime(endTime); |
| | | if (date.after(begin) && date.before(end)) { |
| | | return true; |
| | | } else if (nowTime.compareTo(beginTime) == 0 || nowTime.compareTo(endTime) == 0) { |
| | | return true; |
| | | } else { |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | //获取两个日期之间的天数 |
| | | public static int daysBetween(Date now, Date returnDate) { |
| | | Calendar cNow = Calendar.getInstance(); |
| | | Calendar cReturnDate = Calendar.getInstance(); |
| | | cNow.setTime(now); |
| | | cReturnDate.setTime(returnDate); |
| | | setTimeToMidnight(cNow); |
| | | setTimeToMidnight(cReturnDate); |
| | | long todayMs = cNow.getTimeInMillis(); |
| | | long returnMs = cReturnDate.getTimeInMillis(); |
| | | long intervalMs = todayMs - returnMs; |
| | | return millisecondsToDays(intervalMs); |
| | | } |
| | | |
| | | //获取两个日期之间的毫秒数 |
| | | private static void setTimeToMidnight(Calendar calendar) { |
| | | calendar.set(Calendar.HOUR_OF_DAY, 0); |
| | | calendar.set(Calendar.MINUTE, 0); |
| | | calendar.set(Calendar.SECOND, 0); |
| | | } |
| | | |
| | | //获取两个日期之间的分钟数 |
| | | private static int millisecondsToDays(long intervalMs) { |
| | | return (int) (intervalMs / (1000 * 86400)); |
| | | } |
| | | |
| | | /** |
| | | * *字符串的日期格式的计算 |
| | | * |
| | | */ |
| | | public static int daysBetween(String smdate, String bdate) { |
| | | long between_days = 0; |
| | | try { |
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); |
| | | Calendar cal = Calendar.getInstance(); |
| | | cal.setTime(sdf.parse(smdate)); |
| | | long time1 = cal.getTimeInMillis(); |
| | | cal.setTime(sdf.parse(bdate)); |
| | | long time2 = cal.getTimeInMillis(); |
| | | between_days = (time2 - time1) / (1000 * 3600 * 24); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | |
| | | return Integer.parseInt(String.valueOf(between_days)); |
| | | } |
| | | } |