From db9d95db6f25f95cbc614525adef7dbdeae6478c Mon Sep 17 00:00:00 2001 From: tangxiaobao <303826152@qq.com> Date: 星期二, 27 七月 2021 16:58:03 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/test' into txb --- springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/DateUtils.java | 155 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 154 insertions(+), 1 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/DateUtils.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/DateUtils.java index ac943d7..edf56f3 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/DateUtils.java +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/DateUtils.java @@ -32,7 +32,11 @@ public static SimpleDateFormat ymdhms_format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + public static SimpleDateFormat ymdhm_format = new SimpleDateFormat("yyyy-MM-dd HH:mm"); + public static DateTimeFormatter format_ymd_String = DateTimeFormatter.ofPattern("yyMMdd"); + + public static SimpleDateFormat yyyyMM_format = new SimpleDateFormat("yyyy-MM"); @@ -124,6 +128,13 @@ return now; } + /** + * 返回当前事件的时间戳 + * @return + */ + public static Long getCurrentDateTimeStamp(){ + return LocalDateTime.now().toInstant(ZoneOffset.of("+8")).toEpochMilli(); + } /** * 获取当前时间字符串,格式为yyyy-MM-dd HH:mm:ss * @return @@ -642,12 +653,154 @@ } + /** + * 将日期对象格式化成yyyy-MM-dd格式的字符串 + * + * @param date 日期对象 + * @return String + */ + public static String getDateStringYMD(Date date) { + String dateString = ""; + if (date != null) { + dateString = yyyyMMdd_format.format(date); + } + return dateString; + } + + /** + * 获取当前月第一天 + * @return + */ + public static Date getFirstDayOfMonth() { + Calendar cal = Calendar.getInstance(); + cal.add(Calendar.MONTH,0); + int actualMinimum = cal.getActualMinimum(Calendar.DAY_OF_MONTH); + cal.set(cal.get(Calendar.YEAR), cal.get(Calendar.MONDAY),actualMinimum,00,00,00); + return cal.getTime(); + } + + /** + * 获取当前年月的第一天时间 + * @param year 年份 + * @param month 月份 + * @return 时间 + */ + public static Date getYearMonthStart(Integer year,Integer month) { + Calendar cal = Calendar.getInstance(); + // 设置年份 + cal.set(Calendar.YEAR, year); + // 设置月份 + cal.set(Calendar.MONTH, month - 1); + // 获取某月最小天数 + int firstDay = cal.getMinimum(Calendar.DATE); + // 设置日历中月份的最小天数 + cal.set(Calendar.DAY_OF_MONTH, firstDay); + int actualMinimum = cal.getActualMinimum(Calendar.DAY_OF_MONTH); + cal.set(cal.get(Calendar.YEAR), cal.get(Calendar.MONDAY),actualMinimum,00,00,00); + return cal.getTime(); + } + + /** + * 获取当前年月的最后一天时间 + * @param year 年份 + * @param month 月份 + * @return 时间 + */ + public static Date getYearMonthEnd(Integer year,Integer month) { + Calendar cal = Calendar.getInstance(); + // 设置年份 + cal.set(Calendar.YEAR, year); + // 设置月份 + cal.set(Calendar.MONTH, month - 1); + // 获取某月最大天数 + int lastDay = cal.getMaximum(Calendar.DATE); + // 设置日历中月份的最大天数 + cal.set(Calendar.DAY_OF_MONTH, lastDay); + int actualMinimum = cal.getActualMinimum(Calendar.DAY_OF_MONTH); + cal.set(cal.get(Calendar.YEAR), cal.get(Calendar.MONDAY),actualMinimum,00,00,00); + return cal.getTime(); + } + + public static Date getDateM(Date start, int min) { + Calendar date1 = Calendar.getInstance(); + date1.setTime(start); + date1.add(Calendar.MONTH, min); + return date1.getTime(); + } + + public static Date parseDateYM(String str) { + try { + return yyyyMM_format.parse(str); + } catch (ParseException e) { + e.printStackTrace(); + } + return null; + } + + + public static int getMonth(Date date){ + Calendar instance = Calendar.getInstance(); + instance.setTime(date); + return instance.get(Calendar.MONTH); + } + + public static boolean before(Date start, Date end){ + Calendar date1 = Calendar.getInstance(); + date1.setTime(start); + Calendar date2 = Calendar.getInstance(); + date2.setTime(end); + return date1.before(date2); + } + + /** + * date2比date1多的天数 + * @param date1 + * @param date2 + * @return + */ + public static int differentDays(Date date1,Date date2) + { + Calendar cal1 = Calendar.getInstance(); + cal1.setTime(date1); + + Calendar cal2 = Calendar.getInstance(); + cal2.setTime(date2); + int day1= cal1.get(Calendar.DAY_OF_YEAR); + int day2 = cal2.get(Calendar.DAY_OF_YEAR); + + int year1 = cal1.get(Calendar.YEAR); + int year2 = cal2.get(Calendar.YEAR); + if(year1 != year2) //同一年 + { + int timeDistance = 0 ; + for(int i = year1 ; i < year2 ; i ++) + { + if(i%4==0 && i%100!=0 || i%400==0) //闰年 + { + timeDistance += 366; + } + else //不是闰年 + { + timeDistance += 365; + } + } + + return timeDistance + (day2-day1) ; + } + else //不同年 + { +// System.out.println("判断day2 - day1 : " + (day2-day1)); + return day2-day1; + } + } public static void main(String[]args)throws Exception{ - isValidDate("2020/12/4"); +// Date date= new Date(); +// Date after = new Date(); +// System.out.println(calTimeDifference(date,after)); } } -- Gitblit v1.7.1