package com.moral.common.convert; import com.moral.common.exception.BusinessException; import com.moral.common.util.StringUtils; import org.apache.log4j.Logger; import org.springframework.core.convert.converter.Converter; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; /** * * 字符串转日期的转换器: * @author: fengxiang * @date: 2018/7/30 14:40 */ public class StringToDateConverter implements Converter { private static Logger log = Logger.getLogger(StringToDateConverter.class); private static final String dateFormat = "yyyy-MM-dd HH:mm:ss"; private static SimpleDateFormat simpleDateFormat = new SimpleDateFormat(dateFormat); /** * @see org.springframework.core.convert.converter.Converter#convert(java.lang.Object) */ @Override public Date convert(String source) { try { if(StringUtils.isNullOrEmpty(source)){ return null; } if(StringUtils.isNumericZidai(source)) { source = source.length() == 10 ? source+"000" : source; return new Date(Long.parseLong(source)); } else { return simpleDateFormat.parse(source); } } catch (ParseException e) { e.printStackTrace(); log.error(e.getMessage()); } catch (Exception e) { e.printStackTrace(); log.error(e.getMessage()); } return null; } }