momentjs本地與數據庫utc時間相差8小時解決方法


日常日期存儲中,瀏覽器-->server端-->服務器 數據庫時間是utc時區,會和本地北京時間相差8小時。

 

解決方案一: 將數據庫date類型改為string類型,這樣簡單方便😊

解決方案二:轉為(moment.js)utc類型存入數據庫

  ( 1 ) 在前端頁面選取時間時,將選取時間通過mement.js的utc方法先進行轉換:

 moment(date).utc() ;

  ( 2 ) 在server端往數據庫儲存時,需要將日期通過toDate去轉換成日期類型,因為moment轉換出來的可能是string格式

moment(date, 'YYYY/MM/DD HH:mm:ss Z').toDate();

  ( 3 ) 往數據庫存儲成功后,取出展示時,與本地時間格式相差八小時,那么就通過utcOffset()轉換回來。

moment(res.date).utcOffset(8).format('YYYY/MM/DD HH:mm:ss')

moment.js 文檔地址: https://momentjs.com/docs/#/parsing/parse-zone/

好用的日期選擇控件:https://github.com/Hacker0x01/react-datepicker


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM