package com.agri.common.utils;

/**
 * @ClassName TimeConvertUtil
 * @Description TODO
 * @Author lld
 * @Date 2026/3/6 2:16
 * @Version 1.0
 */
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

public class TimeConvertUtil {
    // 定义常用时间格式（企业级：固化为常量，避免重复创建）
    public static final DateTimeFormatter DEFAULT_DATETIME_FORMAT = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");

    /**
     * 字符串转LocalDateTime（适配yyyy-MM-dd HH:mm:ss格式）
     */
    public static LocalDateTime strToLocalDateTime(String timeStr) {
        // 空值/空白校验（企业级必备）
        if (timeStr == null || timeStr.trim().isEmpty()) {
            return null;
        }
        // 标准格式直接解析
        return LocalDateTime.parse(timeStr.trim(), DEFAULT_DATETIME_FORMAT);
    }

    /**
     * 带异常处理的转换（推荐：避免程序崩溃）
     */
    public static LocalDateTime strToLocalDateTimeSafe(String timeStr) {
        try {
            return strToLocalDateTime(timeStr);
        } catch (Exception e) {
            // 日志记录转换失败原因（企业级：必加）
            System.err.println("时间字符串转换失败，str=" + timeStr + "，错误：" + e.getMessage());
            return null;
        }
    }
}
