springmvc中對日期格式的轉換
在做開發時,經常設計到日期格式的轉換,前端頁面經常傳過來的是String型別的,但是後端經常封裝類是都是Date型別,這就會導致型別轉換錯誤,有時候還會報404的錯誤(這個本人遇到過,不知道為什麼會報這個錯誤),這個時候為了方便,通常我們配置一個全域性的工具類-型別轉換器。
工具類如下:
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.apache.commons.lang.StringUtils;
import org.springframework.core.convert.converter.Converter;
import org.springframework.stereotype.Component;
@Component
public class StringToDateConverter implements Converter<String, Date> {
private static final String[] patterns = new String[] { "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd",
"EEE, d MMM yyyy HH:mm:ss z", "yy-MM-dd" };
@Override
public Date convert(String source) {
if (StringUtils.isBlank(source)) {
return null;
}
Date result = null;
for (String pattern : patterns) {
SimpleDateFormat format = new SimpleDateFormat(pattern);
try {
result = format.parse(source);
break;
} catch (ParseException e) {
}
}
try {
if (result == null) {
long time = Long.parseLong(source);
result = new Date(time);
}
} catch (Exception e) {
}
return result;
}
}