mitao
2024-12-16 270f724b990f5ee26b0238ceb3f89095552611fc
medicalWaste-common/src/main/java/com/sinata/common/utils/DateUtils.java
@@ -1,5 +1,7 @@
package com.sinata.common.utils;
import org.apache.commons.lang3.time.DateFormatUtils;
import java.lang.management.ManagementFactory;
import java.text.ParseException;
import java.text.SimpleDateFormat;
@@ -8,8 +10,10 @@
import java.time.LocalTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import org.apache.commons.lang3.time.DateFormatUtils;
import java.util.List;
/**
 * 时间工具类
@@ -188,4 +192,62 @@
        ZonedDateTime zdt = localDateTime.atZone(ZoneId.systemDefault());
        return Date.from(zdt.toInstant());
    }
    /**
     * 获取两个时间节点之间的月份列表
     *
     * @param minDate
     * @param maxDate
     * @param type    1 = 日 2 = 月 3 = 年
     * @return
     */
    public static List<String> getDayBetween(Date minDate, Date maxDate, Integer type) {
        List<String> result = new ArrayList<String>();
        if (type == 3) {//年
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy");//格式化为年
            Calendar min = Calendar.getInstance();
            Calendar max = Calendar.getInstance();
            min.setTime(minDate);
            max.setTime(maxDate);
            Calendar curr = min;
            max.add(Calendar.YEAR, 1);
            while (curr.before(max)) {
                result.add(sdf.format(curr.getTime()));
                curr.add(Calendar.YEAR, 1);
            }
        } else if (type == 2) {//月
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");//格式化为年月
            Calendar min = Calendar.getInstance();
            Calendar max = Calendar.getInstance();
            min.setTime(minDate);
            max.setTime(maxDate);
            Calendar curr = min;
            max.add(Calendar.MONTH, 1);
            while (curr.before(max)) {
                result.add(sdf.format(curr.getTime()));
                curr.add(Calendar.MONTH, 1);
            }
        } else {//日
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");//格式化为年月日
            Calendar min = Calendar.getInstance();
            Calendar max = Calendar.getInstance();
            min.setTime(minDate);
            max.setTime(maxDate);
            Calendar curr = min;
            max.add(Calendar.DATE, 1);
            while (curr.before(max)) {
                result.add(sdf.format(curr.getTime()));
                curr.add(Calendar.DATE, 1);
            }
        }
        return result;
    }
}