目前,多數web開發這都在使用Spring的框架。但是這個框架有個
@ResponseBody 注解返回json時,日期格式默認顯示為時間戳。
而我們頁面展示的時候一般都是以下格式:
yyyy-MM-dd HH:mm:ss yyyy/MM/dd HH:mm:ss yyyy年MM月dd日 HH:mm:ss
上網查詢了很多資料,很多說法都不錯。但是基本都是copy別人的,不知道有沒有自己試驗過。
我自己親自測試了一種方法,結果可行,現在把其貢獻出來。
SpringMVC框架中的JavaBean中對時間格式的做了get和set方法。
在get方法上寫上
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8",locale = "zh")
然后在js中查看就可以看到格式已經變了。記得是js中查看,不是在java類里查看。java類里查看依然是long的時間戳,js中查看的數據是經過
@ResponseBody封裝后的數據。
注意:導入的@JsonFormat的時候記得導入的包名是這個:import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonFormat;
不要搞錯了,因為在spring的配置文件里,配置的就是這個包來解析json
配置信息可以比對下:
<mvc:annotation-driven /> <!--避免IE執行AJAX時,返回JSON出現下載文件 --> <bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>text/html;charset=UTF-8</value> <value>application/json; charset=utf-8</value> </list> </property> </bean> <!-- 啟動SpringMVC的注解功能,完成請求和注解POJO的映射 --> <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> <property name="messageConverters"> <list> <ref bean="mappingJacksonHttpMessageConverter" /> <!-- JSON轉換器 --> </list> </property> </bean>
