From c6512655e722d9ca80dd8c34b79f6d3923ecf86c Mon Sep 17 00:00:00 2001
From: 罗元桥 <2376770955@qq.com>
Date: 星期二, 22 六月 2021 16:07:50 +0800
Subject: [PATCH] Merge branch 'test' into 'test_screen'

---
 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/DateUtils.java |  148 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 148 insertions(+), 0 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 e02a10e..88163a6 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
@@ -2,6 +2,7 @@
 
 import lombok.extern.slf4j.Slf4j;
 
+import java.text.DateFormat;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.time.*;
@@ -32,6 +33,8 @@
     public static SimpleDateFormat ymdhms_format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 
     public static DateTimeFormatter format_ymd_String = DateTimeFormatter.ofPattern("yyMMdd");
+
+    public static SimpleDateFormat yyyyMM_format = new SimpleDateFormat("yyyy-MM");
 
 
 
@@ -594,7 +597,152 @@
         }
     }
 
+    /**
+     * 日期相加减
+     * @param time
+     *             时间字符串 yyyy-MM-dd HH:mm:ss
+     * @param num
+     *             加的数,-num就是减去
+     * @return
+     *             减去相应的数量的年的日期
+     * @throws ParseException
+     */
+    public static Date yearAddNum(Date time, Integer num) {
+        //SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        //Date date = format.parse(time);
 
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(time);
+        calendar.add(Calendar.YEAR, num);
+        Date newTime = calendar.getTime();
+        return newTime;
+    }
+
+    public static boolean isValidDate(String str) {
+        boolean convertSuccess=true;
+        SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd");
+        try {
+            format.setLenient(false);
+            format.parse(str);
+        } catch (ParseException e) {
+            convertSuccess=false;
+        }
+        return convertSuccess;
+    }
+
+    public static Date toValidDate(String str) {
+        Date date = null;
+        SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd");
+        try {
+            format.setLenient(false);
+            date = format.parse(str);
+        } catch (ParseException e) {
+            log.error("党员导入日期格式错误");
+            date = new Date();
+        }
+        return date;
+    }
+
+
+    /**
+     * 将日期对象格式化成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);
+    }
 
 
 

--
Gitblit v1.7.1