zhangherong
2 天以前 8904f9e6005e7e1f3cc06f415fdcde0033c32332
lxzn-boot-base-core/src/main/java/org/jeecg/common/util/DateUtils.java
@@ -5,9 +5,12 @@
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.ZoneId;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.TimeZone;
import org.jeecg.common.constant.SymbolConstant;
import org.springframework.util.StringUtils;
@@ -63,7 +66,25 @@
            return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        }
    };
    public static ThreadLocal<SimpleDateFormat> hoursAndMinutes = new ThreadLocal<SimpleDateFormat>() {
        @Override
        protected SimpleDateFormat initialValue() {
            return new SimpleDateFormat("HH:mm:ss");
        }
    };
    public static ThreadLocal<SimpleDateFormat> monthFormat = new ThreadLocal<SimpleDateFormat>() {
        @Override
        protected SimpleDateFormat initialValue() {
            return new SimpleDateFormat("yyyy-MM");
        }
    };
    public static ThreadLocal<SimpleDateFormat> yearFormat = new ThreadLocal<SimpleDateFormat>() {
        @Override
        protected SimpleDateFormat initialValue() {
            return new SimpleDateFormat("yyyy");
        }
    };
    /**
     * 以毫秒表示的时间
     */
@@ -182,9 +203,6 @@
    public static String date2Str(SimpleDateFormat dateSdf) {
        synchronized (dateSdf) {
            Date date = getDate();
            if (null == date) {
                return null;
            }
            return dateSdf.format(date);
        }
    }
@@ -671,17 +689,110 @@
        return calendar.get(Calendar.YEAR);
    }
    public static String getDayStr(Date date) {
        Calendar calendar = getCalendar();
        calendar.setTime(date);// 把当前时间赋给日历
        int day = calendar.get(Calendar.DATE);// 获取日
        String dayStr = day < 10 ? "0" + day : day + "";
        return dayStr;
    }
    /**
     * 将字符串转成时间
     * @param str
     * @return
     */
    public static Date parseDatetime(String str){
    public static Date parseDatetime(String str) {
        try {
            return datetimeFormat.get().parse(str);
        }catch (Exception e){
        } catch (Exception e) {
        }
        return null;
    }
    /**
     * 获取指定时间之后的几年 qsw
     */
    public static Date getYearAfter(Date data, int number) {
        Calendar c = Calendar.getInstance();
        c.setTime(data);
        c.add(Calendar.YEAR, number);
        Date afterTime = c.getTime();
//        SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//        String resultDate = f.format(afterTime);
        return afterTime;
    }
    /**
     * 获取指定时间之后的几天 qsw
     */
    public static Date getDayAfter(Date data, int number) {
        Calendar c = Calendar.getInstance();
        c.setTime(data);
        c.add(Calendar.DAY_OF_MONTH, number);
        Date afterTime = c.getTime();
//        SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//        String resultDate = f.format(afterTime);
        return afterTime;
    }
    /**
     * 获取指定时间之后的几分钟 qsw
     */
    public static Date getMinAfter(Date data, int number) {
        Calendar c = Calendar.getInstance();
        c.setTime(data);
        c.add(Calendar.MINUTE, number);
        Date afterTime = c.getTime();
        return afterTime;
    }
    /**
     * 获取指定时间之后的几小时 qsw
     */
    public static Date getHourAfter(Date data, int number) {
        Calendar c = Calendar.getInstance();
        c.setTime(data);
        c.add(Calendar.HOUR_OF_DAY, number);
        Date afterTime = c.getTime();
        return afterTime;
    }
    public static String getCurrentDateStr() {
        Date date = new Date();
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
        dateFormat.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));// 设置北京时区
        return dateFormat.format(date);
    }
    /**
     * Date 转 LocalDate
     * @param date
     * @return
     */
    public static LocalDate dateToLocalDate(Date date) {
        return date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
    }
    /**
     * LocalDate 转 Date
     * @param localDate
     * @return
     */
    public static Date localDateToDate(LocalDate localDate) {
        return Date.from(localDate.atStartOfDay(ZoneId.systemDefault()).toInstant());
    }
    /**
     * 日期加年
     * @param date
     * @param year
     * @return
     */
    public static Date addYear(Date date, int year) {
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        calendar.add(Calendar.YEAR, year);
        return calendar.getTime();
    }
}