1. 程式人生 > >Jackson 時間格式化,時間註解 @JsonFormat 用法、時差問題說明

Jackson 時間格式化,時間註解 @JsonFormat 用法、時差問題說明

格式 tar ted ref domain http 北京時間 json 北京

http://www.sojson.com/blog/246.html

*******************************************

@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; }

以上結果輸出都是一樣的。這個沒有什麽好說明的。具體輸出格式,自己調整 pattern

@JsonFormat 相差8小時問題

上面直接這麽使用,在我們中國來講和我們的北京時間,會相差8個小時,因為我們是東八區(北京時間)。

所以我們在格式化的時候要指定時區(timezone ),代碼如下:

/**更新時間  用戶可以點擊更新,保存最新更新的時間。**/
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
private
Date updateTime;

也就是增加一個屬性,timezone="GMT+8" 即可,getter 方法我就不寫了,一樣的。

咱看看結果,我這個接口就是這麽輸出的:公安網備查詢 ,以 http://www.sojson.com/api/gongan/sina.com.cn 為例

    {
        "data": {
            "id": "11000002000016",
            "sitename": "新浪網",
            "sitedomain": "sina.com.cn",
            "sitetype": "交互式",
            
"cdate": "2016-01-21", "comtype": "企業單位", "comname": "北京新浪互聯信息服務有限公司", "comaddress": "北京市網安總隊", "updateTime": "2017-09-05 02:26:34" //看這...這裏就是剛剛輸出的。 }, "status": 200 }

Jackson 時間格式化,時間註解 @JsonFormat 用法、時差問題說明