package cc.mrbird.febs.server.hr.config; import org.apache.commons.lang3.StringUtils; import org.springframework.core.convert.converter.Converter; import java.text.SimpleDateFormat; import java.util.Date; public class StringToDateConverter implements Converter { 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.isBlank(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)); } }