admin管理员组

文章数量:1538180

近日遇到了前台请求参数中日期格式传入到后台controller接收自动转换date失败的问题,查找部分资料后决定定义一个全局的日期转换器,代码亲自验证通过。

1.自定义日期格式转换器

/**
 * 
 */
package com.xxxx.log.config;

import java.text.FieldPosition;
import java.text.ParsePosition;
import java.text.SimpleDateFormat;
import java.util.Date;
import com.xxxxmon.utils.StringUtils;

import com.fasterxml.jackson.databind.util.StdDateFormat;

/**
 * @ClassName: CustomDateFormat
 * @date 2018年01月23日 下午4:28:57
 */
public class CustomDateFormat extends StdDateFormat {
   

    private static final long serialVersionUID = -3201781773655300201L;

    public static final CustomDateFormat instance = new CustomDateFormat();

    @Override
    /**
     * @ClassName: CustomDateFormat
     * 这个方法可不写,jckson主要使用的是parse(String)这个方法用来转换日期格式的,
     * 只要覆盖parse(String)这个方法即可
     * @date 2018年01月23日 下午4:28:57
     */
    public Date parse(String dateStr, ParsePosition pos) {
        SimpleDateFormat sdf  = null;
        if(StringUtils.isBlank(dateStr)){
            return null;
        }
        if (dateStr.length() == 10) {
            sdf = new SimpleDateFormat("yyyy-MM-dd");
            return sdf.parse(dateStr, pos);
        }
        

本文标签: 转换器全局定义日期系列