我们用ajax请求后台springmvc,后台返回对象,会默认给我们转json,日期对象的话,默认会调用toString()搞成一个非常难看的格式;
这时候,我们可以自定义json序列方式来转下日期的格式;
具体操作方法,先定义两个自定义日期处理类:
CustomDateTimeSerializer:
package com.java1234.entity;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
/**
* 自定义返回JSON 数据格式中日期格式化处理
* @author java1234 小锋 老师
*
*/
public class CustomDateTimeSerializer extends JsonSerializer<Date>{
@Override
public void serialize(Date value, JsonGenerator gen, SerializerProvider serializers)
throws IOException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
gen.writeString(sdf.format(value));
}
}
CustomDateSerializer类:
package com.java1234.entity;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
/**
* 自定义返回JSON 数据格式中日期格式化处理
* @author Administrator
*
*/
public class CustomDateSerializer extends JsonSerializer<Date>{
@Override
public void serialize(Date value, JsonGenerator gen, SerializerProvider serializers)
throws IOException, JsonProcessingException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
gen.writeString(sdf.format(value));
}
}
我们平时基本就这两种转换法:
然后我们在实体类的日期属性的get方法上注解@JsonSerialize(using=CustomDateTimeSerializer.class)
@JsonSerialize(using=CustomDateTimeSerializer.class)
public Date getBuyTime() {
return buyTime;
}
这样搞就OK了,返回的json串处理日期会调用这个自定义类,来达到格式化日期;
效果可以的哈。
关注锋哥公众号【Java资料站】,每日发布最新Java资讯和技术贴;
需要交流,加锋哥微信号 QQ527085608 :