DateUtil

``` import java.text.ParseException; import java.text.ParsePosition; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.List; import java.util.Locale; public class DateUtil { //自定义格式 public static final String STANDARD_FORMAT = "yyyy-MM-dd HH:mm:ss"; /** * date类型进行格式化输出 * @param date * @return */ public static String dateFormat(Date date) { SimpleDateFormat formatter = new SimpleDateFormat(STANDARD_FORMAT); String dateString = formatter.format(date); return dateString; } /** * 获取当前时间 yyyy-MM-dd HH:mm:ss * @param * @return */ public static String getNowDate() { Calendar now = Calendar.getInstance(); return dateFormat(now.getTime()); } /** * date类型进行格式化输出 * @param date * @return */ public static String dateFormat(Date date, String dateFormat) { SimpleDateFormat formatter = new SimpleDateFormat(dateFormat); String dateString = formatter.format(date); return dateString; } /** * 将"2020-09-16 9:08:06"型字符串转化为Date * @param str * @return * @throws ParseException */ public static Date StringToDate(String str) throws ParseException{ SimpleDateFormat formatter = new SimpleDateFormat(STANDARD_FORMAT); Date date = (Date) formatter.parse(str); return date; } /** * 将CST时间类型字符串进行格式化输出 * @param str * @return * @throws ParseException */ public static String CSTFormat(String str) throws ParseException{ SimpleDateFormat formatter = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.US); Date date = (Date) formatter.parse(str); return dateFormat(date); } /** * 将long类型转化为Date * @param str * @return * @throws ParseException */ public static Date LongToDare(long str) throws ParseException{ return new Date(str * 1000); } /** * 将字符串20200916转换为2020-09-16日期格式 针对一个的操作 * @param str * @return * @throws ParseException */ public static String StrToDate(String str) throws ParseException { SimpleDateFormat dateFormat=new SimpleDateFormat("yyyyMMdd"); SimpleDateFormat dateFormat2=new SimpleDateFormat("yyyy-MM-dd"); String result=dateFormat2.format(dateFormat.parse(str)); //System.err.println(result); return result; } /** * 将2020-09-16的字符串转换成20200916的格式 针对一个日期的操作 * @param dateStr * @return * @throws ParseException */ public static String DateToStr(String dateStr) throws ParseException { SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat dateFormat2=new SimpleDateFormat("yyyyMMdd"); Date parse = dateFormat.parse(dateStr); String format = dateFormat2.format(parse); return format; } /** * 两个时间之间的天数 * 初始化的格式 2020-09-16 long days = getDays("2020-09-16", "2020-09-20"); * @param date1 2020-09-16 * @param date2 2020-09-20 * @return */ public static long getDays(String date1, String date2) { if (date1 == null || date1.equals("")) { return 0; } if (date2 == null || date2.equals("")) { return 0; } // 转换为标准时间 SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd"); Date date = null; Date mydate = null; try { date = myFormatter.parse(date1); mydate = myFormatter.parse(date2); } catch (Exception e) { } long day = (date.getTime() - mydate.getTime()) / (24 * 60 * 60 * 1000); return day; } /** * 将短时间格式字符串转换为时间 yyyy-MM-dd * * @param strDate * @return */ public static Date strToDate(String strDate) { SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); ParsePosition pos = new ParsePosition(0); Date strtodate = formatter.parse(strDate, pos); return strtodate; } /** * 根据一个日期,返回是星期几的字符串 * * @param sdate * @return */ public static String getWeek(String sdate) { //System.out.println("sdate--->>>"+sdate); // 再转换为时间 Date date = strToDate(sdate); Calendar c = Calendar.getInstance(); c.setTime(date); // int hour=c.get(Calendar.DAY_OF_WEEK); // hour中存的就是星期几了,其范围 1~7 // 1=星期日 7=星期六,其他类推 return new SimpleDateFormat("EEEE").format(c.getTime()); } /* *某一天的日期转换 */ public static String getWeekStr(String sdate) { String str = ""; str = getWeek(sdate); if ("1".equals(str)) { str = "星期日"; } else if ("2".equals(str)) { str = "星期一"; } else if ("3".equals(str)) { str = "星期二"; } else if ("4".equals(str)) { str = "星期三"; } else if ("5".equals(str)) { str = "星期四"; } else if ("6".equals(str)) { str = "星期五"; } else if ("7".equals(str)) { str = "星期六"; } return str; } /** * List数据中 一次遍历多个日期 * @param sdate * @return */ public static List getWeekStrArray(List sdate) { System.out.println(sdate.size()); List list=new ArrayList<>(); String str = ""; for(int i=0;i<sdate.size();i++) { String object = (String)sdate.get(i); str=getWeek(object); list.add(str); } if ("1".equals(str)) { str = "星期日"; } else if ("2".equals(str)) { str = "星期一"; } else if ("3".equals(str)) { str = "星期二"; } else if ("4".equals(str)) { str = "星期三"; } else if ("5".equals(str)) { str = "星期四"; } else if ("6".equals(str)) { str = "星期五"; } else if ("7".equals(str)) { str = "星期六"; } return list; } } ```