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;
    }
}


猜你喜欢

转载自blog.csdn.net/lxj_1993/article/details/79359480
今日推荐