‘liusuyi’
2024-01-16 8926d27639d8cb9826941b482926f774bd10dc92
ruoyi-common/src/main/java/com/ruoyi/common/utils/DateUtils.java
@@ -1,6 +1,7 @@
package com.ruoyi.common.utils;
import java.lang.management.ManagementFactory;
import java.sql.Timestamp;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
@@ -8,6 +9,7 @@
import java.time.LocalTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.time.temporal.ChronoUnit;
import java.util.Date;
import org.apache.commons.lang3.time.DateFormatUtils;
@@ -25,9 +27,9 @@
    public static String YYYY_MM_DD = "yyyy-MM-dd";
    public static String YYYYMMDDHHMMSS = "yyyyMMddHHmmss";
    public static String YYYYMMDD = "yyyyMMdd";
    public static String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss";
    public static String YYYY_MM_DD_HH_MM_SS_MS = "yyyy-MM-dd HH:mm:ss.fff";
    public static String YYYY_MM_DD_HH_MM_SS_MS = "yyyy-MM-dd HH:mm:ss.SSS";
    public static String HH_MM_SS = "HH:mm:ss";
    private static String[] parsePatterns = {
@@ -59,6 +61,10 @@
    public static final String dateTimeNow() {
        return dateTimeNow(YYYYMMDDHHMMSS);
    }
    public static final String getDateYYYYMMDD() {
        return dateTimeNow(YYYYMMDD);
    }
    public static final String dateTimeNowMS()
    {
        return dateTimeNow(YYYY_MM_DD_HH_MM_SS_MS);
@@ -83,6 +89,21 @@
        }
    }
    /**
     * 转换Date去掉毫秒
     */
    public static final Date covertTime(Date date)  {
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Timestamp now = new Timestamp(date.getTime());
        String str = df.format(now);
        Date newDate = null;
        try {
            newDate = df.parse(str);
        } catch (ParseException e) {
            throw new RuntimeException("转换日期去掉毫秒异常");
        }
        return newDate;
    }
    /**
     * 日期路径 即年/月/日 如2018/08/08
     */
@@ -207,4 +228,17 @@
        long sec = diff/ ns;
        return sec;
    }
    /**
     * 获取一天中剩余的时间(秒数)
     */
    public static Integer getDayRemainingTime(Date currentDate) {
        LocalDateTime midnight = LocalDateTime.ofInstant(currentDate.toInstant(),
                        ZoneId.systemDefault()).plusDays(1).withHour(0).withMinute(0)
                .withSecond(0).withNano(0);
        LocalDateTime currentDateTime = LocalDateTime.ofInstant(currentDate.toInstant(),
                ZoneId.systemDefault());
        long seconds = ChronoUnit.SECONDS.between(currentDateTime, midnight);
        return (int) seconds;
    }
}