jialh
1 天以前 dd6687b118561100e1677e88a9c2f5842a54c531
java110-utils/src/main/java/com/java110/utils/util/DateUtil.java
@@ -10,12 +10,14 @@
import java.time.LocalDateTime;
import java.time.Period;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;
import java.util.*;
/**
 * Created by wuxw on 2017/7/24.
 */
public class DateUtil {
    public static final String DATE_FORMATE_STRING_MILLI = "yyyyMMddHHmmssSSS"; // 17位:年月日时分秒毫秒
    private static DateFormat dateFormat = new SimpleDateFormat("yyyyMMddhhmmss");
@@ -25,7 +27,24 @@
        LocalDate date = LocalDate.of(year, month, 1); // 创建一个日期对象,年份和月份为指定值,日期为1号
        return date.lengthOfMonth(); // 返回该月的天数
    }
    private static final DateTimeFormatter DATE_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd");
    public static boolean isValidDate(String dateStr) {
        // ✅ 关键修复:先彻底去除前后空白(包括空格、制表符、换行)
        if (dateStr == null || dateStr.isEmpty()) {
            return true;
        }
        // 去掉所有空白后再校验
        String cleanDate = dateStr.trim();
        try {
            LocalDate.parse(cleanDate, DATE_FORMATTER);
            return true;
        } catch (DateTimeParseException e) {
            return false;
        }
    }
    private static Map<String, SimpleDateFormat> formats = new HashMap();
    public static final String DATE_FORMATE_STRING_DEFAULT = "yyyyMMddHHmmss";
    public static final String DATE_FORMATE_STRING_A = "yyyy-MM-dd HH:mm:ss";