package com.sbl.pay.subaccount.converter; import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.regex.Pattern; import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.core.convert.converter.Converter;
import org.springframework.stereotype.Component; import com.sbl.pay.subaccount.consumer.SxfQueryReceiver; /**
* 日期转化器
* @author ZHANGYUKUN
*
*/
@Component
public class DateConverter implements Converter<String,Date> {
private static final Logger logger = LoggerFactory.getLogger(SxfQueryReceiver.class); DateFormat ymdFormat = new SimpleDateFormat("yyyy-MM-dd");
DateFormat ymdhfmFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Pattern ymd = Pattern.compile("^\\d{4}-\\d{1,2}-\\d{1,2}$");
Pattern ymdhfm = Pattern.compile("^\\d{4}-\\d{1,2}-\\d{1,2}$"); @Override
public Date convert(String dataStr) {
dataStr = dataStr.trim();
if ("".equals(dataStr) || dataStr.length()< 10 ) {
return null;
} try {
if( ymd.matcher(dataStr).matches() ) {
ymdFormat.parse(dataStr);
}else if( ymdhfm.matcher(dataStr).matches() ) {
return ymdhfmFormat.parse(dataStr);
}
}catch (Exception e) {
if( logger.isErrorEnabled() ) {
logger.error( "日期装换错误,默认返回null" );
}
return null;
}
return null;
} }
继承 Converter 实现 转化接口就可以了