From 10df7e29b51d6a2efacc83d870856f57d97a9b66 Mon Sep 17 00:00:00 2001 From: yanghui <2536613402@qq.com> Date: 星期一, 24 十月 2022 13:48:24 +0800 Subject: [PATCH] #feat 修改别名 --- springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/DateUtils.java | 154 ++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 145 insertions(+), 9 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 4165ba5..1003da6 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 @@ -4,11 +4,10 @@ import java.text.SimpleDateFormat; import java.time.*; import java.time.format.DateTimeFormatter; -import java.util.ArrayList; -import java.util.Calendar; -import java.util.Date; -import java.util.List; +import java.util.*; +import cn.hutool.core.date.DateUnit; +import cn.hutool.core.date.DateUtil; import lombok.extern.slf4j.Slf4j; @Slf4j @@ -416,11 +415,11 @@ long day = diff / nd; - long hour = diff % nd / nh; + long hour = diff / nh; - long min = diff % nd % nh / nm; + long min = diff / nm; - return (int)day; + return (int)hour; } /** @@ -931,8 +930,7 @@ Date after = getLastMonthEnd(); System.out.println(date); System.out.println(after); - - + System.out.println(getMonthTwentyDay()); } /** @@ -1038,4 +1036,142 @@ calendar.set(Calendar.DAY_OF_MONTH, 1); return format_yyymmdd.format(calendar.getTime()); } + + /** + * 获取某年的月份最后一天时间 + * @param year 年份 + * @return 月份list + */ + public static List<String> getYearLastMonths(Integer year){ + List<String> list = new ArrayList<>(); + list.add(getLastDayOfMonth(year,1)); + list.add(getLastDayOfMonth(year,2)); + list.add(getLastDayOfMonth(year,3)); + list.add(getLastDayOfMonth(year,4)); + list.add(getLastDayOfMonth(year,5)); + list.add(getLastDayOfMonth(year,6)); + list.add(getLastDayOfMonth(year,7)); + list.add(getLastDayOfMonth(year,8)); + list.add(getLastDayOfMonth(year,9)); + list.add(getLastDayOfMonth(year,10)); + list.add(getLastDayOfMonth(year,11)); + list.add(getLastDayOfMonth(year,12)); + return list; + } + + /** + * 获取某年的月份第一天时间 + * @param year 年份 + * @return 月份list + */ + public static List<String> getYearFirstMonths(Integer year){ + List<String> list = new ArrayList<>(); + list.add(getFirstDayOfMonth(year,1)); + list.add(getFirstDayOfMonth(year,2)); + list.add(getFirstDayOfMonth(year,3)); + list.add(getFirstDayOfMonth(year,4)); + list.add(getFirstDayOfMonth(year,5)); + list.add(getFirstDayOfMonth(year,6)); + list.add(getFirstDayOfMonth(year,7)); + list.add(getFirstDayOfMonth(year,8)); + list.add(getFirstDayOfMonth(year,9)); + list.add(getFirstDayOfMonth(year,10)); + list.add(getFirstDayOfMonth(year,11)); + list.add(getFirstDayOfMonth(year,12)); + return list; + } + + /** + * 获取某年某月最后一天 + * @param year 年份 + * @param month 月份 + * @return 某年某月最后一天 + */ + public static String getLastDayOfMonth(int year,int month) + { + Calendar cal = Calendar.getInstance(); + //设置年份 + cal.set(Calendar.YEAR,year); + //设置月份 + cal.set(Calendar.MONTH, month-1); + //获取某月最大天数 + int lastDay = cal.getActualMaximum(Calendar.DAY_OF_MONTH); + //设置日历中月份的最大天数 + cal.set(Calendar.DAY_OF_MONTH, lastDay); + //格式化日期 + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + String lastDayOfMonth = sdf.format(cal.getTime()); + return lastDayOfMonth; + } + + /** + * 获取某年某月的第一天 + * @param year 年份 + * @param month 月份 + * @return 某年某月第一天 + */ + public static String getFirstDayOfMonth(int year,int month) + { + Calendar cal = Calendar.getInstance(); + //设置年份 + cal.set(Calendar.YEAR,year); + //设置月份 + cal.set(Calendar.MONTH, month-1); + //获取某月最小天数 + int firstDay = cal.getActualMinimum(Calendar.DAY_OF_MONTH); + //设置日历中月份的最小天数 + cal.set(Calendar.DAY_OF_MONTH, firstDay); + //格式化日期 + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + String firstDayOfMonth = sdf.format(cal.getTime()); + + return firstDayOfMonth; + } + + /** + * 获取20天前那天时间 + * + * @return + */ + public static String getTwentyDay() { + Calendar cal = Calendar.getInstance(); + cal.setTime(new Date()); + cal.add(Calendar.DATE, -20); + + return DateUtil.format(cal.getTime(),"yyyy-MM-dd"); + } + + /** + * 获取之前的日期 + * + * @return + */ + public static String getBeforeDay(Integer amount) { + Calendar cal = Calendar.getInstance(); + cal.setTime(new Date()); + cal.add(Calendar.DATE, -amount); + return DateUtil.format(cal.getTime(),"yyyy-MM-dd"); + } + + /** + * 获取最近本月20天数据 + * + * @return + */ + public static String getMonthTwentyDay() { + Date date = new Date(); + Long offset = DateUtil.between(new Date(), DateUtil.beginOfMonth(date), DateUnit.DAY); + if (offset >= 20) { + return getTwentyDay(); + } else { + //距离月初不足20天 + Calendar calendar = new GregorianCalendar(); + calendar.setTime(date); + //获得本月第一天 + calendar.add(Calendar.MONTH, 0); + calendar.set(Calendar.DAY_OF_MONTH, 1); + return DateUtil.format(calendar.getTime(),"yyyy-MM-dd"); + } + + } } -- Gitblit v1.7.1