package com.ruoyi.web.work.hl7.util;

import org.springframework.util.StringUtils;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateTimeConverter {

    public static String convertToUnifiedFormat(String dateTimeStr) {

        // 定义两种可能的输入格式
        SimpleDateFormat formatterWithSeparator = new SimpleDateFormat("yyyyMMddHH:mm:ss");
        SimpleDateFormat formatterWithoutSeparator = new SimpleDateFormat("yyyyMMddHHmmss");

        // 定义一个统一的输出格式
        SimpleDateFormat outputFormatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        if (StringUtils.hasText(dateTimeStr)){
            Date date = null;
            try {
                // 尝试第一种格式
                date = formatterWithSeparator.parse(dateTimeStr);
            } catch (ParseException e) {
                // 如果第一种格式失败，尝试第二种格式
                try {
                    date = formatterWithoutSeparator.parse(dateTimeStr);
                } catch (ParseException ex) {
                    // 如果两种格式都失败，返回错误信息
                    return "解析失败: " + dateTimeStr;
                }
            }
            // 如果成功解析，使用统一的输出格式进行格式化
            if (date != null) {
                return outputFormatter.format(date);
            }
        }
        return null;
    }
}
