
com.sghd.common.utils.converter.StringToDateTimeConverter Maven / Gradle / Ivy
The newest version!
package com.sghd.common.utils.converter;
import java.text.ParseException;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.core.convert.converter.Converter;
import com.sghd.common.utils.time.DateThreadUtils;
public class StringToDateTimeConverter implements Converter {
private static final Logger logger = LoggerFactory.getLogger(StringToDateTimeConverter.class);
private static final Map FORMATTERS_MAP = new HashMap();
static {
FORMATTERS_MAP.put("yyyy-MM".length(), "yyyy-MM");
FORMATTERS_MAP.put("yyyy-MM-dd".length(), "yyyy-MM-dd");
FORMATTERS_MAP.put("yyyy-MM-dd HH:mm:ss".length(), "yyyy-MM-dd HH:mm:ss");
FORMATTERS_MAP.put("yyyyMMddHHmmss".length(), "yyyyMMddHHmmss");
}
@Override
public Date convert(String source) {
String format = FORMATTERS_MAP.get(source.length());
if (format == null) {
logger.warn("字符串[{}]不符合日期格式要求", source);
throw new IllegalArgumentException("字符串[" + source + "]不符合格式要求");
}
//System.out.println(Thread.currentThread().getName());
try {
return DateThreadUtils.trystr2date(source, format);
} catch (ParseException e) {
logger.warn("字符串[{}]不符合格式要求[{}]", source);
}
throw new IllegalArgumentException("字符串[" + source + "]不符合格式要求");
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy