From 1fb23cbeeaaeda0a66cf8fe8977c3f5915743cc7 Mon Sep 17 00:00:00 2001
From: fengjin <1435304038@qq.com>
Date: 星期五, 21 十月 2022 15:13:10 +0800
Subject: [PATCH] Merge branch 'zigonggao_dev' into huacheng_test
---
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