2步操作
1 创建 utils — StringToDateConverter
public class StringToDateConverter implements Converter<String,Date> {
private static final String dateFormat = "yyyy-MM-dd HH:mm:ss";
private static final String shortDateFormat = "yyyy-MM-dd";
private static final String dateFormat2 = "yyyy/MM/dd HH:mm:ss";
private static final String shortDateFormat2 = "yyyy/MM/dd";
@Override
public Date convert(String source) {
if (StringUtils.isEmpty(source)) {
return null;
}
source = source.trim();
try {
SimpleDateFormat formatter;
if (source.contains("-")) {
if (source.contains(":")) {
formatter = new SimpleDateFormat(dateFormat);
} else {
formatter = new SimpleDateFormat(shortDateFormat);
}
Date dtDate = formatter.parse(source);
return dtDate;
} else if (source.contains("/")) {
if (source.contains(":")) {
formatter = new SimpleDateFormat(dateFormat2);
} else {
formatter = new SimpleDateFormat(shortDateFormat2);
}
Date dtDate = formatter.parse(source);
return dtDate;
}
} catch (Exception e) {
throw new RuntimeException(String.format("parser %s to Date fail", source));
}
throw new RuntimeException(String.format("parser %s to Date fail", source));
}
}
2 创建 config – webConfigBeans
@Configuration
public class WebConfigBeans {
@Autowired
RequestMappingHandlerAdapter requestMappingHandlerAdapter;
@PostConstruct
public void initEditableValidation(){
ConfigurableWebBindingInitializer configurableWebBindingInitializer = (ConfigurableWebBindingInitializer) requestMappingHandlerAdapter.getWebBindingInitializer();
if(configurableWebBindingInitializer.getConversionService()!=null){
GenericConversionService service = (GenericConversionService) configurableWebBindingInitializer.getConversionService();
service.addConverter(new StringToDateConverter());
}
}
}
本文介绍了一个实用的日期字符串转换工具类及其配置方法。该工具能够将多种格式的日期字符串(如yyyy-MM-dd HH:mm:ss)转换为Java Date对象,适用于不同应用场景。同时,通过Spring配置实现了该转换器在Web应用中的全局注册。
1791

被折叠的 条评论
为什么被折叠?



