解決IE報錯:Locale 'chinese' is not well-formed,或RangeError: 區域設置“chinese”的格式不正確的問題


  接之前的此博客問題處理:js處理時間時區問題

   由於 toLocaleString():據本地時間格式,把 Date 對象轉換為字符串。總是會帶有上午/下午,所以我加了參數:new Date('2019-09-12 23:33:33').toLocaleString('chinese', {hour12: false}),這樣返回的字符串就是24小時制,而沒有上午下午。

  但是,在IE瀏覽器下就會報標題的錯誤,期初不知道是什么原因,經過排查發現就是這個參數問題。

  所以我們需要修改下:可以利用 toUTCString() 方法:根據世界時,把 Date 對象轉換為字符串。

  所以函數需要改下:

  // 將實際時間轉為世界標准時間
  let _realTime = new Date(_time + ' GMT+0800').toUTCString() let realTime = new Date(_realTime).getTime() // 當前時間也轉為世界標准時間
  let _nowTime = new Date().toUTCString() let nowTime = new Date(_nowTime).getTime() let diffValue = nowTime - realTime

  即:先把服務器時間轉為世界時,然后再把當前時間轉為世界時,再計算差值,比較靠譜


免責聲明!

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



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