JS格式化時間之後少了8個小時

var data = Date.parse("Tue May 26 16:53:31 CST 2020")

 網上搜了這個方法,發現還是不行,最後查了一下,是時區問題

原因:
new Date(CST)。new Date通過解析currentDateStr返回一個long類型的時間差(UTC時間)來構造日期對象,但這個解析的過程中,如果遇到CST,會被認爲是指北美的時區,比格林威治時間(GMT)晚6個小時,按照轉換關係,轉成UTC需要加6個小時。而在輸出receivedCurrentDate的時候會調用toString方法,會根據所在的時區格式化輸出日期,也就是將UTC轉成China Standard Time,需要加8個小時,所以就出現了相差14個小時
解決辦法:

var str = "Tue May 26 16:53:31 CST 2020".replace("CST",'GMT+0800');
return new Date(str).Format("yyyy-MM-dd hh:mm:ss")

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章