[筆記] Dayjs 解決時區、夏令時間 和 UTC 間的轉換問題

章節連結

近期實務上遇見需要處理時區和 UTC 時間之類的轉換問題。前端畫面上呈現的是根據使用者的系統時間所推斷,之後傳送到後端伺服器要轉換成 UTC。另外,從伺服器端取得的資料時間,也需要轉成客戶端時間才行。
javascript es6 logo


程式碼

將客戶端時間轉換成 UTC

1. 先取得客戶端時間和 UTC 間的 offset,dayjs 會提供的數值已經替你解決了夏令時間問題。這一個 offset 單位為分鐘 ( min )
2. 將時間帶入 dayjs ,並經由 utc 套件轉換

將 UTC 時間轉換成客戶端時間

1. 承接上一個區塊,因為你已經取得了客戶端時間和 utc 間的 offset,所以將取得的時間透過 dayjs 所提供的 add 方法修正即可


參考資料

1. Javascript 時區(timezone) & 夏令時間(Daylight Saving Time)

按讚加入粉絲團

延伸閱讀