Jackson 時間格式化,時間注解 @JsonFormat 用法、時差問題說明
Jackson 是 SpringMvc 官方推薦結(jié)合的,其實我是習慣用 Gson 的,但是由于公司統(tǒng)一使用 Jackson ,自然對 Jackson 需要關(guān)注的更多。下面來說說其中一個注解,就是 @JsonFormat 。
@JsonFormat 使用
我們可以有兩種用法(我知道的),在對象屬性上,或者在屬性的 getter 方法上,如下代碼所示:
增加到屬性上:
... ...
/**更新時間 用戶可以點擊更新,保存最新更新的時間。**/
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date updateTime;
... ...增加到 getter 方法上:
... ...
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
public Date getUpdateTime() {
return updateTime;
}
... ...以上結(jié)果輸出都是一樣的。這個沒有什么好說明的。具體輸出格式,自己調(diào)整 pattern 。
@JsonFormat 相差8小時問題
上面直接這么使用,在我們中國來講和我們的北京時間,會相差8個小時,因為我們是東八區(qū)(北京時間)。
所以我們在格式化的時候要指定時區(qū)(timezone ),代碼如下:
... ...
/**更新時間 用戶可以點擊更新,保存最新更新的時間。**/
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
private Date updateTime;
... ...也就是增加一個屬性,timezone="GMT+8" 即可,getter 方法我就不寫了,一樣的。
咱看看結(jié)果,我這個接口就是這么輸出的:公安網(wǎng)備查詢 ,以 http://suancuo.cn/api/gongan/sina.com.cn 為例。
{
"data": {
"id": "11000002000016",
"sitename": "新浪網(wǎng)",
"sitedomain": "sina.com.cn",
"sitetype": "交互式",
"cdate": "2016-01-21",
"comtype": "企業(yè)單位",
"comname": "北京新浪互聯(lián)信息服務(wù)有限公司",
"comaddress": "北京市網(wǎng)安總隊",
"updateTime": "2017-09-05 02:26:34" //看這...這里就是剛剛輸出的。
},
"status": 200
}OK,打完收工!?。?br>
版權(quán)所屬:SO JSON在線解析
原文地址:http://suancuo.cn/blog/246.html
轉(zhuǎn)載時必須以鏈接形式注明原始出處及本聲明。
如果本文對你有幫助,那么請你贊助我,讓我更有激情的寫下去,幫助更多的人。
