亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Jackson 為 JSON 解析設置什么時區?

Jackson 為 JSON 解析設置什么時區?

大話西游666 2021-12-10 15:09:24
我以這種格式解析“日期”:@JsonProperty("earliest_pick_up_time")@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "HH:mm", timezone = "Europe/Berlin")private Date earliestPickUpTime;但它并不是真正的日期,因為來源是小時和分鐘,例如 14:43 或 16:12 等。這里的時區是什么?什么時區?服務器?裝置?我是否需要計算設備的位置,以便它始終正確顯示?在這種情況下,無論用戶是在柏林還是澳大利亞,14:43 都是 14:43。我需要知道服務器的位置嗎?用戶提前設置了這個時間和日期,那么時區是指那個嗎?如果我沒有明確設置時區,我會得到錯誤的日期?,F在我將時區設置為我的時區,但我不確定這是否正確。
查看完整描述

2 回答

?
富國滬深

TA貢獻1790條經驗 獲得超9個贊

日期可能不是一個好對象,因為您必須解析 HH:mm。

日期表示 1/1/1970 UTC 之后的某個時間實例。你不能用 0-23 的一個小時來表示

您可能應該考慮制作自定義 HourMinute 對象和自定義反序列化器/序列化器

您還會將時區視為某種偏移量。

如果我在柏林并且我將最早的接送時間設置為 1.00 怎么辦

紐約時間是-5am嗎?


查看完整回答
反對 回復 2021-12-10
?
蕪湖不蕪

TA貢獻1796條經驗 獲得超7個贊

服務器的時區和客戶端的時區可以不同。我會將服務器的默認時區設置為 UTC。隨著時間的推移,我會強制客戶端在每個請求中發送時區信息(可能作為請求參數或標頭)。在服務器中,我會將其解析為 UTC 并將其作為時間戳保留在 db 中。從數據庫中檢索時,它將是 UTC。我會再次轉換為客戶的時區并將其發回。

所以理想情況下,只要您設置服務器的默認時區,服務器的位置就無關緊要。您可以直接在服務器中設置它或在啟動時在應用程序中設置它。然而,客戶的位置真的很重要。您可能希望在他們自己的時區向他們顯示時間。不要手動添加時區偏移量。使用內置框架來處理夏令時等。


查看完整回答
反對 回復 2021-12-10
  • 2 回答
  • 0 關注
  • 411 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號