解決IE報錯:Locale 'chinese' is not well-formed,或RangeError: 區域設置“chinese”的格式不正確的問題
阿新 • • 發佈:2019-05-10
.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”的格式不正確的問題