doum
12 小时以前 c11bce150d6e702f41ce247a0c62ea03401318f1
server/dmmall_service/src/main/java/com/doumee/core/utils/DateUtil.java
@@ -7,13 +7,11 @@
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.*;
import java.time.format.DateTimeFormatter;
import java.time.temporal.TemporalAdjusters;
import java.util.Calendar;
import java.util.*;
import java.util.Date;
import java.util.Enumeration;
import java.util.GregorianCalendar;
import java.util.Hashtable;
import java.util.Locale;
import org.apache.commons.lang3.RandomStringUtils;
import org.apache.commons.lang3.StringUtils;
@@ -1240,7 +1238,12 @@
        }
        return length;
    }
    public static String minusMonthToDate(LocalDate date, int num) {
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM");
        String month = date.minusMonths(num).format(formatter);
        return month;
}
    /**
     * 得到两个日期之间相差的天数
     *
@@ -1712,7 +1715,56 @@
        calo.add(Calendar.DATE, intBetween);
        return calo.getTime();
    }
    public static List<Date> getDatePeriodByYearAndMonth(int year  , int month) {
        List<Date> list = new ArrayList<>();
        list.add(null);
        list.add(null);
        try {
            Calendar calendar = Calendar.getInstance();
            calendar.set(Calendar.YEAR, year);
            calendar.set(Calendar.MONTH, month);
            calendar.set(Calendar.DAY_OF_MONTH, 1);
            calendar.set(Calendar.HOUR_OF_DAY, 0);
            calendar.set(Calendar.MINUTE, 0);
            calendar.set(Calendar.SECOND, 0);
            list.set(0,calendar.getTime());
            calendar.add(Calendar.MONTH, 1); // 加一个月
            calendar.add(Calendar.DAY_OF_MONTH, -1); // 然后减一天得到这个月最后一天
            calendar.set(Calendar.HOUR_OF_DAY, 23);
            calendar.set(Calendar.MINUTE, 59);
            calendar.set(Calendar.SECOND, 59);
            list.set(1,calendar.getTime());
        }catch (Exception e){
        }
        return list;
    }
    public static List<Date> getDatePeriodByYear(int year) {
        List<Date> list = new ArrayList<>();
        list.add(null);
        list.add(null);
        try {
            Calendar calendar = Calendar.getInstance();
            calendar.set(Calendar.YEAR, year);
            calendar.set(Calendar.MONTH,0);
            calendar.set(Calendar.DAY_OF_MONTH, 1);
            calendar.set(Calendar.HOUR_OF_DAY, 0);
            calendar.set(Calendar.MINUTE, 0);
            calendar.set(Calendar.SECOND, 0);
            list.set(0,calendar.getTime());
            calendar.add(Calendar.YEAR, 1); // 加一个月
            calendar.add(Calendar.DAY_OF_MONTH, -1); // 然后减一天得到这个月最后一天
            calendar.set(Calendar.HOUR_OF_DAY, 23);
            calendar.set(Calendar.MINUTE, 59);
            calendar.set(Calendar.SECOND, 59);
            list.set(1,calendar.getTime());
        }catch (Exception e){
        }
        return list;
    }
    /**
     * 得到将date增加指定年数后的date
     *
@@ -2753,7 +2805,10 @@
    public static void main(String[] args) {
        try {
            System.out.println(RandomStringUtils.randomNumeric(3));
            System.out.println(getPlusTime2(getDatePeriodByYearAndMonth(2026,11).get(0)));
            System.out.println(getPlusTime2(getDatePeriodByYearAndMonth(2026,11).get(1)));
            System.out.println(getPlusTime2(getDatePeriodByYear(2026).get(0)));
            System.out.println(getPlusTime2(getDatePeriodByYear(2026).get(1)));
        } catch (Exception ex) {
            ex.printStackTrace();
        }