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

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

.cn www nbsp false realtime 排查 比較 () 14.

  接之前的此博客問題處理: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

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

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