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