JS處理時間格式國際標準化的方法

2021-09-13 20:01:56 字數 1352 閱讀 4653

最近做專案,發現乙個坑!

坑的詳情如下:

後端展示的時間是2019/12/27,而在蘋果手機上顯示的時間卻是2019/12/28,然而我在本地pc端展示的時間和後端一致,並且安卓手機(華為、小公尺)的時間展示和後端也一致,設定為英文語言的蘋果手機時間顯示也無誤(只是時間顯示順序有問題,倒序),唯獨設定為中文語言的蘋果手機卻出現了快進一天的結果~~~

(庫克在賈伯斯劇院開發布會了,這會不會和位於美國的ios系統有關呢?)

再看我之前寫的猴**:

猴子**方案一:

let time = new date(time).tolocalestring() // 錯的哦!不能實現全球化接軌!

猴子**方案二:

let time = new date(time).tolocaledatestring() // 錯的哦!也不能實現全球化接軌!

猴子**方案三:

let y = new date(time).getfullyear() // 當前年份

let m = new date(time).getmonth() // 當前月份

let d = new date(time).getdate() // 當前日期

return y + '/' + (m + 1) + '/' + d

// 別看方案三**多,中規中矩,依然錯哦!

真正和國際接軌的時間格式化**在這!!!!⬇️

// 時間格式化

fmttime (time)

// 為了適配各種機型,需要把時間轉換為符合國際化標準的時間格式,避免ios和安卓系統不一致

// console.log(time.replace(/-/g, '/'))

let time1 = new date(time.replace(/-/g, '/').replace('t', ' ')).toisostring() // 轉為國際標準化時間

// 擷取time前面的年月日

let time2 = time1.split('t')[0]

// 將年月日的『-』替換為『/』

let time3 = time2.replace('-', '/')

let time4 = time3.replace('-', '/')

return time4

}

這個照搬自己的**,貼過來的,下次遇到這種問題要細細分析! 希望能幫到同樣站在坑邊的朋友們!

重中之重:let time1 = new date(time.replace(/-/g, '/').replace('t', ' ')).toisostring() // 轉為國際標準化時間

ISO 國際標準化組織

國際標準化組織的英語簡稱。其全稱是international organization for standardization iso一 於希臘語 isos 即 equal 平等之意。國際標準化組織 iso 是由各國標準化團體 iso成員團體 組成的世界性的聯合會。制定國際標準工作通常由iso的技術...

極限程式設計(xp),iso國際標準化組織

極限程式設計 xp extreme programming 極限程式設計 xp 四個價值 溝通 communication 簡化 similicity 反饋 feedback 勇氣 courage iso國際標準化組織 international organization for standardi...

正確的座機號碼格式 國際標準電話號碼格式

國際標準 號碼格式 您是不是從來沒有接到過外商的 您知道您留下的 外商根本聯 系不到你嗎 您知道嗎 很多企業包括外貿公司在名片和 上留下的 號碼卻是打不 通的!如果在搜尋引擎裡輸入 嘉興外貿企業 隨便挑選幾家,你會發現很多問題 如果您的名片上印的是 0086 574 87376060 86 0574...