我们在使用springmvc中的 @ResponseBody 注解往前端返回JSON数据的时候发现时间总是一串数字,这里总结使用的两种解决时间格式问题的方法。
1、在时间字段的get方法上使用注解
@JsonFormat(pattern ="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
这样前端获取的时间就是你设置的时间格式。但是这种方法是个体力活,每个时间类型的字段你都需要给加上这个注解。
2、通过在spring xml配置文件里配置Json转换器设置时间格式
@Component("jacksonObjectMapper") 与配置文件里的ref指向名称相对应 public class CustomObjectMapper extends ObjectMapper { private static final long serialVersionUID = 1L; @PostConstruct public void afterPropertiesSet() throws Exception { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); setDateFormat(sdf); } }
spring的xml文件配置
<mvc:annotation-driven> <mvc:message-converters> <beans:bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"> <beans:property name="objectMapper" ref="jacksonObjectMapper"/> <property name="supportedMediaTypes"> <list> <value>application/json;charset=UTF-8</value> </list> </property> </beans:bean> </mvc:message-converters> </mvc:annotation-driven>