/** * Copyright © 2012-2014 JeeSite All rights reserved. */ package com.zbkj.common.utils; import cn.hutool.core.date.DateUnit; import cn.hutool.core.date.DateUtil; import com.google.common.collect.ImmutableList; import com.google.common.collect.Lists; import org.apache.commons.lang3.time.DateFormatUtils; import org.joda.time.DateTime; import org.joda.time.LocalDate; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; /** * 日期工具类, 继承org.apache.commons.lang.time.DateUtils类 * * @author zhangye * @version 1.0 */ public class DateUtils extends org.apache.commons.lang3.time.DateUtils { private static String[] parsePatterns = { "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm", "yyyy-MM", "yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm", "yyyy/MM", "yyyy.MM.dd", "yyyy.MM.dd HH:mm:ss", "yyyy.MM.dd HH:mm", "yyyy.MM", "yyyyMMddHHmmss", "yyyyMMdd", "yyyyMM", "yyyy年MM月dd日", "HH:mm" }; /** * 得到当前日期字符串 格式(yyyy-MM-dd) */ public static String getDate() { return getDate("yyyy-MM-dd"); } /** * 得到当前日期字符串 格式(yyyy-MM-dd) pattern可以为:"yyyy-MM-dd" "HH:mm:ss" "E" */ public static String getDate(String pattern) { return DateFormatUtils.format(new Date(), pattern); } /** * 得到日期字符串 默认格式(yyyy-MM-dd) pattern可以为:"yyyy-MM-dd" "HH:mm:ss" "E" */ public static String formatDate(Date date, Object... pattern) { String formatDate = null; if (pattern != null && pattern.length > 0) { formatDate = DateFormatUtils.format(date, pattern[0].toString()); } else { formatDate = DateFormatUtils.format(date, "yyyy-MM-dd"); } return formatDate; } /** * 得到日期时间字符串,转换格式(yyyy-MM-dd HH:mm:ss) */ public static String formatDateTime(Date date) { return formatDate(date, "yyyy-MM-dd HH:mm:ss"); } /** * 得到日期时间字符串,转换格式(HH:mm:ss) */ public static String formatTime(Date date) { return formatDate(date, "HH:mm:ss"); } /** * 得到当前时间字符串 格式(HH:mm:ss) */ public static String getTime() { return formatDate(new Date(), "HH:mm:ss"); } /** * 得到当前日期和时间字符串 格式(yyyy-MM-dd HH:mm:ss) */ public static String getDateTime() { return formatDate(new Date(), "yyyy-MM-dd HH:mm:ss"); } /** * 得到当前年份字符串 格式(yyyy) */ public static String getYear() { return formatDate(new Date(), "yyyy"); } /** * 得到当前月份字符串 格式(MM) */ public static String getMonth() { return formatDate(new Date(), "MM"); } /** * 得到当天字符串 格式(dd) */ public static String getDay() { return formatDate(new Date(), "dd"); } /** * 得到当前星期字符串 格式(E)星期几 */ public static String getWeek() { return formatDate(new Date(), "E"); } /** * 日期型字符串转化为日期 格式 { "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm", * "yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm", "yyyy.MM.dd", * "yyyy.MM.dd HH:mm:ss", "yyyy.MM.dd HH:mm" } */ public static Date parseDate(Object str) { if (str == null) { return null; } try { return parseDate(str.toString(), parsePatterns); } catch (ParseException e) { return null; } } /** * 获取明天日期 * * @return yyyy-MM-dd */ public static String getTomorrow() { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); Calendar c = Calendar.getInstance(); c.add(Calendar.DATE, 1); return df.format(c.getTime()); } /** * 获取过去的天数 * * @param date * @return */ public static long pastDays(Date date) { long t = System.currentTimeMillis() - date.getTime(); return t / (24 * 60 * 60 * 1000); } /** * 获取过去的小时 * * @param date * @return */ public static long pastHour(Date date) { long t =System.currentTimeMillis() - date.getTime(); return t / (60 * 60 * 1000); } /** * 获取过去的分钟 * * @param date * @return */ public static long pastMinutes(Date date) { long t = System.currentTimeMillis() - date.getTime(); return t / (60 * 1000); } /** * 转换为时间(天,时:分:秒.毫秒) * * @param timeMillis * @return */ public static String formatDateTime(long timeMillis) { long day = timeMillis / (24 * 60 * 60 * 1000); long hour = (timeMillis / (60 * 60 * 1000) - day * 24); long min = ((timeMillis / (60 * 1000)) - day * 24 * 60 - hour * 60); long s = (timeMillis / 1000 - day * 24 * 60 * 60 - hour * 60 * 60 - min * 60); long sss = (timeMillis - day * 24 * 60 * 60 * 1000 - hour * 60 * 60 * 1000 - min * 60 * 1000 - s * 1000); return (day > 0 ? day + "," : "") + hour + ":" + min + ":" + s + "." + sss; } /* * 将时间戳转换为时间 */ public static String stampToDate(long timeMillis){ return formatDateTime(new Date(timeMillis)); } /** * 获取两个日期之间的天数 * * @param before * @param after * @return */ public static double getDistanceOfTwoDate(Date before, Date after) { long beforeTime = before.getTime(); long afterTime = after.getTime(); return ((afterTime - beforeTime) / (1000 * 60 * 60 * 24) + 1L); } /** * 获取两个日期之间的天数 年月日 * * @param before * @param after * @return */ public static String getDayOfTwoDate(Date before, Date after) { long beforeTime = before.getTime(); long afterTime = after.getTime(); int day = (int) ((afterTime - beforeTime) / (1000 * 60 * 60 * 24) + 1L); int year = day / 365; int month = day % 365 / 30; int days = day % 365 % 30; String yearStr = year > 0 ? year + "年" : ""; String monthStr = month > 0 ? month + "月" : ""; String daysStr = days > 0 ? days + "天" : ""; String limitTime = yearStr + monthStr + daysStr; return limitTime; } /** * 根据月份获得当月的日期集合 * * @param month * 格式:2018-01 * @return 2018-01-01 ,2018-01-02 ,2018-01-03 ,2018-01-04 ... */ public static List getDatesByMonth(String month) { DateTime date = new DateTime(month + "-01"); final ImmutableList.Builder dayList = ImmutableList.builder(); LocalDate firstDay = date.toLocalDate().withDayOfMonth(1); final LocalDate nextMonthFirstDay = firstDay.plusMonths(1); while (firstDay.isBefore(nextMonthFirstDay)) { dayList.add(firstDay.toDateTimeAtStartOfDay().getMillis()); firstDay = firstDay.plusDays(1); } ImmutableList dates = dayList.build(); List dateList = Lists.newArrayList(); dates.forEach(t -> { dateList.add(new SimpleDateFormat("yyyy-MM-dd").format(new Date(t))); }); return dateList; } public static String dateAdd(String type, String sdate, String format, int num) throws Exception{ SimpleDateFormat df = new SimpleDateFormat(format); Date date = df.parse(sdate); Calendar cal = Calendar.getInstance(); cal.setTime(date); if("y".equals(type)){ cal.add(Calendar.YEAR, num); }else if("m".equals(type)){ cal.add(Calendar.MONTH, num); }else if("h".equals(type)){ cal.add(Calendar.HOUR, num); }else if("i".equals(type)){ cal.add(Calendar.MINUTE, num); }else if("s".equals(type)){ cal.add(Calendar.SECOND, num); }else { cal.add(Calendar.DATE, num); } return df.format(cal.getTime()); } /** * 根据开始时间和结束时间获得的日期集合 * * @param startDate * @param endDate */ public static List getBetweenDatesByDate(Date startDate, Date endDate) { List dateList = Lists.newArrayList(); long days = DateUtil.betweenDay(startDate, endDate, false); dateList.add(DateUtil.formatDate(startDate)); for (int i = 1; i <= days; i++) { Date nextDate = DateUtil.offsetDay(startDate, i); dateList.add(DateUtil.formatDate(nextDate)); } return dateList; } /** * 获取某天是星期几 * * @param date * 格式:2018-01 * @return 星期五 */ public static String getWeek(Date date) { SimpleDateFormat sdf = new SimpleDateFormat("EEEE"); String week = sdf.format(date); return week; } /** * 获取某天是星期几(int) * * @param date * 格式:2018-01 * @return 1 2 3 4 5 6 7 */ public static int getWeekInt(Date date) { int weekInt = 0; SimpleDateFormat sdf = new SimpleDateFormat("EEEE"); String week = sdf.format(date); if ("星期一".equals(week)) { weekInt = 1; } if ("星期二".equals(week)) { weekInt = 2; } if ("星期三".equals(week)) { weekInt = 3; } if ("星期四".equals(week)) { weekInt = 4; } if ("星期五".equals(week)) { weekInt = 5; } if ("星期六".equals(week)) { weekInt = 6; } if ("星期日".equals(week)) { weekInt = 7; } return weekInt; } /** * 获取某天一个月后共几天 * * @param date * 格式:2018-01 * @return 30 */ public static int getDayNumAfterOneMonth(Date date) { Calendar cal = Calendar.getInstance(); cal.setTime(date); cal.add(Calendar.MONTH, 1); Date dayAfter = cal.getTime(); // 获取天数 double dayNum = DateUtils.getDistanceOfTwoDate(date, dayAfter); return (int) dayNum; } /** * 获取某天一个月后是几月几号 * * @param date * 格式:2018-01 * @return 2018-01 */ public static Date getDayAfterOneMonth(Date date) { Calendar cal = Calendar.getInstance(); cal.setTime(date); cal.add(Calendar.MONTH, 1); Date dayAfter = cal.getTime(); return dayAfter; } /** * 获取某天过几天是几号 * * @param date * 格式:2018-01 * @param i * 格式:1 * @return 2018-01 */ public static String getDayAfterSomeDay(Date date, int i) { Calendar cal = Calendar.getInstance(); cal.setTime(date); cal.add(Calendar.DAY_OF_MONTH, i); Date dayAfter = cal.getTime(); return formatDate(dayAfter); } /** * 获取几分钟后是几号 * * @param date * @param i * @return */ public static Date getDayAfterSomeMinute(Date date, int i) { Calendar cal = Calendar.getInstance(); cal.setTime(date); cal.add(Calendar.MINUTE, i); return cal.getTime(); } /** * 计算两个日期之间相差的小时 * * @param smdate * 较小的时间 * @param bdate * 较大的时间 * @return 相差小时 * @throws ParseException */ public static String hourDiff(Date smdate, Date bdate) { String hour = ""; String minute = ""; if (smdate == null || bdate == null) { return ""; } SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); try { smdate = sdf.parse(sdf.format(smdate)); bdate = sdf.parse(sdf.format(bdate)); } catch (ParseException e) { e.printStackTrace(); } Calendar cal = Calendar.getInstance(); cal.setTime(smdate); double time1 = cal.getTimeInMillis(); cal.setTime(bdate); double time2 = cal.getTimeInMillis(); double between_hour = (time2 - time1) / (1000 * 3600); double between_minu = (time2 - time1) / (1000 * 60); if (between_hour >= 1) { hour = (int) between_hour + "小时"; } else { hour = ""; } if (between_minu % 60 > 0.0) { minute = (int) between_minu % 60 + "分钟"; } return hour + minute; } /** * 计算两个日期之间相差的分钟数 * * @param smdate * 较小的时间 * @param bdate * 较大的时间 * @return 相差分钟数 * @throws ParseException */ public static Double minDiff(Date smdate, Date bdate) { String hour = ""; String minute = ""; if (smdate == null || bdate == null) { return null; } SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); try { smdate = sdf.parse(sdf.format(smdate)); bdate = sdf.parse(sdf.format(bdate)); } catch (ParseException e) { e.printStackTrace(); } Calendar cal = Calendar.getInstance(); cal.setTime(smdate); double time1 = cal.getTimeInMillis(); cal.setTime(bdate); double time2 = cal.getTimeInMillis(); double between_minu = (time2 - time1) / (1000 * 60); return between_minu; } /** * 计算两个日期之间相差的分钟数 * * @param smallDate * 较小的时间 * @param bigDate * 较大的时间 * @return 相差分钟数 * @throws ParseException */ public static Double minDiff(String smallDate, String bigDate) { Date smdate = DateUtils.parseDate(smallDate); Date bdate = DateUtils.parseDate(bigDate); String hour = ""; String minute = ""; if (smdate == null || bdate == null) { return null; } SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); try { smdate = sdf.parse(sdf.format(smdate)); bdate = sdf.parse(sdf.format(bdate)); } catch (ParseException e) { e.printStackTrace(); } Calendar cal = Calendar.getInstance(); cal.setTime(smdate); double time1 = cal.getTimeInMillis(); cal.setTime(bdate); double time2 = cal.getTimeInMillis(); double between_minu = (time2 - time1) / (1000 * 60); return between_minu; } /* * 传入两个日期,date1和date2
返回date2减去date1所得的分钟数,long类型 */ public static long getDateSubDateToMinutes(Date date1, Date date2) { long minute = 0; try { if (date1 != null && date2 != null) { long long1 = date1.getTime(); long long2 = date2.getTime(); minute = (long2 - long1) / 1000 / 60; } else { // System.out.println("date1或date2的对象为空!"); } } catch (Exception e) { System.err.println("计算date2减去date1所得的秒数失败!"); } return minute; } /* * 传入两个日期,date1和date2
返回date2减去date1所得的秒,long类型 */ public static long getDateSubDateToSeconds(Date date1, Date date2) { long second = 0; try { if (date1 != null && date2 != null) { long long1 = date1.getTime(); long long2 = date2.getTime(); second = (long2 - long1) / 1000; } else { // System.out.println("date1或date2的对象为空!"); } } catch (Exception e) { System.err.println("计算date2减去date1所得的秒数失败!"); } return second; } /** * 根据分钟数 计算 天时分 * * @param totalMinutes * @return */ public static String getDayHourMinute(Long totalMinutes) { // 计算天 1天 = 24*60 1小时=60 Long day = totalMinutes / (24 * 60); Long hour = (totalMinutes % (24 * 60)) / 60; Long minute = (totalMinutes % (24 * 60)) % 60; String content = ""; if (day > 0) { content = content + day + "天"; } if (hour > 0) { content = content + hour + "小时"; } if (minute > 0) { content = content + minute + "分钟"; } return content; } /** * 根据年 月 获取对应的月份 天数 */ public static int getDaysByYearMonth(int year, int month) { Calendar a = Calendar.getInstance(); a.set(Calendar.YEAR, year); a.set(Calendar.MONTH, month - 1); a.set(Calendar.DATE, 1); a.roll(Calendar.DATE, -1); int maxDate = a.get(Calendar.DATE); return maxDate; } /** * 校验日期是否合法 * * @param sourceDate * @return boolean by llc 2018-09-17 */ public static boolean checkDate(String sourceDate) { if (sourceDate == null) { return false; } /*** 针对 201-9-08-26能判断日期正确的情况 ***/ if(sourceDate.length()-(sourceDate.replaceAll("-","").length())!=2){ return false; } try { SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); dateFormat.setLenient(false); dateFormat.parse(sourceDate); return true; } catch (Exception e) { } return false; } /** * 校验时间是否合法 * * @param sourceTime * @date 2020-01-21 * @auth llc * @return boolean */ public static boolean checkTime(String sourceTime ) { if (sourceTime == null) { return false; } /*** 针对 201-9-08-26能判断日期正确的情况 ***/ if(sourceTime.length()-(sourceTime.replaceAll("-","").length())!=2){ return false; } try { SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); dateFormat.setLenient(false); dateFormat.parse(sourceTime); return true; } catch (Exception e) { } return false; } /** * 比较日期大小 说明:如果 strDate1 <= strDate2,返回true,否则返回false * * @param strDate1 * @param strDate2 * @return boolean by llc 2018-09-17 */ public static boolean dateCompare(String strDate1, String strDate2) { boolean flag = false; if (strDate1 == null || strDate2 == null) { return flag; } SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); try { Date date1 = dateFormat.parse(strDate1); Date date2 = dateFormat.parse(strDate2); if (date1.getTime() <= date2.getTime()) { flag = true; } else { flag = false; } } catch (Exception e) { flag = false; } return flag; } /** * 计算两者时间的等待时长(用于审批) * * @param startTime * @param endTime * @return String by llc 2018-11-13 */ public static String calculationTimes(Date startTime, Date endTime) { long longWaitTime = DateUtil.between(startTime, endTime, DateUnit.SECOND); String timeDiff = DateUtil.secondToTime(Integer.parseInt(String.valueOf(longWaitTime))); String[] timeArr = timeDiff.split(":"); List timeList = new ArrayList<>(); for (String time : timeArr) { if (time.equalsIgnoreCase("00")) { time = "0"; } timeList.add(Integer.parseInt(time)); } String waitTime = "已等待"; if (timeList.get(0) == 0) { waitTime += timeList.get(1) + "分钟" + timeList.get(2) + "秒"; } else { if (timeList.get(0) >= 24) { waitTime += (timeList.get(0) / 24) + "天" + (timeList.get(0) % 24) + "小时" + timeList.get(1) + "分钟" + timeList.get(2) + "秒"; } else { waitTime += timeList.get(0) + "小时" + timeList.get(1) + "分钟" + timeList.get(2) + "秒"; } } return waitTime; } /** * 获得指定日期的后一天 * * @param dates * @return */ public static String getNextDay(String dates) { Calendar c = Calendar.getInstance(); Date date = null; try { date = new SimpleDateFormat("yy-MM-dd").parse(dates); } catch (ParseException e) { e.printStackTrace(); } c.setTime(date); int day = c.get(Calendar.DATE); c.set(Calendar.DATE, day + 1); String dayAfter = new SimpleDateFormat("yyyy-MM-dd").format(c.getTime()); return dayAfter; } /** * 获取某日是星期几(已按照中国情况做处理) * * @param date * @return * by llc 2019-01-23 */ public static int dayOfWeek(String date) { int weekDaty = DateUtil.dayOfWeek(DateUtil.parseDate(date)) == 1? 7 : DateUtil.dayOfWeek(DateUtil.parseDate(date))-1; return weekDaty; } /** * 获得指定日期的前n天数据 * @param specifiedDay * @return * @throws Exception */ public static String getSpecifiedDayBefore(String specifiedDay,int days){ Calendar c = Calendar.getInstance(); Date date=null; try { date = new SimpleDateFormat("yy-MM-dd").parse(specifiedDay); } catch (ParseException e) { e.printStackTrace(); } c.setTime(date); int day=c.get(Calendar.DATE); c.set(Calendar.DATE,day - days); String dayBefore=new SimpleDateFormat("yyyy-MM-dd").format(c.getTime()); return dayBefore; } public static List getBetweenDates(Date start, Date end) { List result = new ArrayList(); Calendar tempStart = Calendar.getInstance(); tempStart.setTime(start); Calendar tempEnd = Calendar.getInstance(); tempEnd.setTime(end); while (tempStart.before(tempEnd)) { result.add(tempStart.getTime()); tempStart.add(Calendar.DAY_OF_YEAR, 1); } return result; } /** * jianjun.wang * 获取当月所有天 * @return */ public static List getDayListOfMonth(String paramMonth) { List list = new ArrayList(); Calendar aCalendar = Calendar.getInstance(Locale.CHINA); aCalendar.setTime(DateUtil.parse(paramMonth, "yyyy-MM")); int year = aCalendar.get(Calendar.YEAR);//年份 int month = aCalendar.get(Calendar.MONTH) + 1;//月份 int day = aCalendar.getActualMaximum(Calendar.DATE); for (int i = 1; i <= day; i++) { String aDate = String.valueOf(year) + "/" + month + "/" + i; list.add(aDate); } return list; } /*** * 获取某个时间的前几分钟 * @param dateStr * @param n * @date 2020-01-21 * @auth llc * @return */ public static String getBeforeTime( String dateStr, int n){ Calendar c = Calendar.getInstance(); Date beforeTime =null; try { beforeTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(dateStr); } catch (ParseException e) { e.printStackTrace(); } c.setTime(beforeTime); c.add(Calendar.MINUTE, n); String dayBefore= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(c.getTime()); return dayBefore; } /** * @param args * @throws ParseException */ public static void main(String[] args) throws ParseException { System.out.println(DateUtils.formatDate(new Date(), "HHmmss")); // System.out.println(formatDate(parseDate("2010/3/6"))); // System.out.println(getDate("yyyy年MM月dd日 E")); // long time = new Date().getTime()-parseDate("2012-11-19").getTime(); // System.out.println(getDayAfterSomeMinute(new Date(),-10)); // System.out.println(getDayAfterSomeMinute(new Date(), -10)); // System.out.println(350 / 60); // System.out.println((int) ((Math.random() * 9 + 1) * 100000)); // System.out.println(DateUtil.between(parseDate("2018-12-06 // 07:00:00","yyyy-MM-dd HH:mm:ss"),parseDate("2018-12-06 // 07:30:00","yyyy-MM-dd HH:mm:ss"), DateUnit.SECOND)); // System.out.println(DateUtil.between(DateUtils.parseDate("2018-12-13" // + " 23:59:59", "yyyy-MM-dd // HH:mm:ss"),DateUtils.parseDate("2018-12-13" + " 23:59:59", // "yyyy-MM-dd HH:mm:ss"), DateUnit.SECOND)); // System.out.println(DateUtil.between(DateUtils.parseDate("2018-12-14" // + " 00:00:00", "yyyy-MM-dd // HH:mm:ss"),DateUtils.parseDate("2018-12-14" + " 02:00:00", // "yyyy-MM-dd HH:mm:ss"), DateUnit.SECOND)); // System.out.println(DateUtil.between(new // Date(),DateUtils.parseDate("2018-12-14" + " 02:00:00", "yyyy-MM-dd // HH:mm:ss"), DateUnit.SECOND)); // System.out.println(getNextDay("2018-10-31")); // System.out.println(DateUtils.formatDate(new Date())); // System.out.println(new BigDecimal(Math.round(232 * 100 / 60) / // 100.0)); // System.out.println(new BigDecimal(10.01).divide(new BigDecimal(3), 2, BigDecimal.ROUND_DOWN)); // BigDecimal a = new BigDecimal(2.3); // // BigDecimal b = new BigDecimal(4.3); // // System.out.println(b.compareTo(a) == 1); // System.out.println(DateUtils.parseDate(DateUtils.formatDate(new Date()))); String monthfirstDay = "2020-04" + "-01"; String monthLastDay = DateUtils.formatDate(DateUtil.endOfMonth(DateUtils.parseDate(monthfirstDay))); System.out.println(checkTime("2020-01-21 14:12:61")); // System.out.println(formatDate(new Date())); // // System.out.println(new Date()); // // System.out.println("我们"+ "\n" + "好孩子"); // // Date date = new Date(); // // System.out.println(date.getTime()); // List x = new ArrayList(); // x.add("1"); // x.add("2"); // String a = Joiner.on(",").join(x); // System.out.println(a); // System.out.println(DateUtil.formatDate(DateUtil.beginOfMonth(new Date()))); // 本月第一天 // System.out.println(DateUtil.formatDate(DateUtil.beginOfWeek(new Date()))); // 本周第一天 // System.out.println(DateUtil.formatDate(new Date())); // 今天 // System.out.println(DateUtil.formatDate(DateUtil.beginOfWeek(DateUtil.lastWeek()))); // 上周第一天 // System.out.println(DateUtil.formatDate(DateUtil.endOfWeek(DateUtil.lastWeek())));// 上周最后一天 // System.out.println(DateUtil.formatDate(DateUtil.beginOfMonth(DateUtil.lastMonth())));// 上月第一天 // System.out.println(DateUtil.formatDate(DateUtil.endOfMonth(DateUtil.lastMonth())));// 上月最后一天 // Map map = new HashMap<>(); // BigDecimal big = new BigDecimal(2.31); // map.put("a",big); // BigDecimal c = new BigDecimal(String.valueOf(map.get("a").toString())); // String d = "0次/共0分钟"; // // Date time = DateUtils.parseDate("01:00:00","HH:mm:ss"); // // Date time2 = DateUtil.offsetMinute(time,-5); // System.out.println(DateUtils.formatDate(time2,"HH:mm")); // // String date = "2019-01-26"; // System.out.println(date+":星期"+DateUtil.dayOfWeek(DateUtil.parseDate(date))); // // System.out.println(DateUtil.formatDate(DateUtil.endOfWeek(new Date()))); // // String sourceDate = "2019-01-31"; // System.out.println(DateUtils.parseDate(sourceDate)); // try { // System.out.println(DateUtils.parseDate(sourceDate,"yyyy-MM-dd")); // }catch (ParseException e) { // } // //// System.out.println(DateUtils.formatDate(DateUtil.date())); // if(DateUtils.dateCompare("2019-08-31",DateUtils.getDate())){ // System.out.println("任务进行中"); // }else{ // System.out.println("任务未开始"); // } System.out.println(DateUtils.dateCompare("2020-02-19",DateUtils.getDate())); // System.out.println(DateUtils.getSpecifiedDayBefore(DateUtils.getDate(),2)); // List dateList = DateUtils.getBetweenDates(DateUtils.parseDate(DateUtils.getSpecifiedDayBefore(DateUtils.getDate(),2)),new Date()); // for (Date date: dateList ) { // System.out.println(DateUtils.formatDate(date).replaceAll("-","")); // } // System.out.println("日期格式:"+ checkDate("201-9-08-31")); } }