DateUtil.java 2 KB
package com.ruoyi.utils;

import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.time.FastDateFormat;

import java.text.ParseException;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Date;

/**
 * @author liujun
 * @date 2024年06月24日 11:27
 */
public class DateUtil {

    public static FastDateFormat YYYY_MM_DD_LINK_HH_MM_SS = FastDateFormat.getInstance("yyyy-MM-dd HH:mm:ss");

    public static FastDateFormat YYYY_MM_DD_LINK_HH_MM = FastDateFormat.getInstance("yyyy-MM-dd HH:mm");
    public static FastDateFormat YYYY_MM_DD_LINK = FastDateFormat.getInstance("yyyy-MM-dd");
    public static FastDateFormat YYYY_MM_LINK = FastDateFormat.getInstance("yyyy-MM");
    public static FastDateFormat YYYY_MM_DD = FastDateFormat.getInstance("yyyyMMdd");
    public static FastDateFormat HH_MM_ss = FastDateFormat.getInstance("HH:mm:ss");
    public static DateTimeFormatter YYYY_MM_DD_LINK_HH_MM_SS_Local_Date = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
    public static DateTimeFormatter YYYY_MM_DD_LINK_Local_Date = DateTimeFormatter.ofPattern("yyyy-MM-dd");


    public static LocalDateTime parseLocalDateTime(String dateStr) {
        return StringUtils.isEmpty(dateStr) ? null : LocalDateTime.parse(dateStr, YYYY_MM_DD_LINK_HH_MM_SS_Local_Date);
    }

    public static LocalDate parseLocalDate(String dateStr) {
        return StringUtils.isEmpty(dateStr) ? null : LocalDate.parse(dateStr, YYYY_MM_DD_LINK_Local_Date);
    }

    public static Date today() {
        return shortDate(new Date());
    }

    public static Date shortDate(Date date) {
        try {
            return YYYY_MM_DD_LINK.parse(YYYY_MM_DD_LINK.format(date));
        } catch (ParseException e) {
            throw new RuntimeException(e);
        }
    }

    public static String shortDateStr(Date date) {
        return YYYY_MM_DD_LINK.format(date);
    }

    public static String shortNowStr() {
        return shortDateStr(new Date());
    }

}