js 時間的國際化處理



//1 獲取相對於0時區的當地時區(默認得到的是分鍾,可能是負數;北京市東八+8 美國華盛頓為西五-5),中國比美國快13小時
//js默認轉換的時候自帶時區,只要數據庫存的是時間戳,顯示的時候不用刻意轉換
//入庫如果是存 年月日,需要獲取當前 對應的國外時間處理
getTimesByZone() {
//得到本地時間
var d = new Date();

//得到1970年一月一日到現在的秒數
var local = d.getTime();

//本地時間與GMT時間的時間偏移差
var offset = d.getTimezoneOffset() * 60000;

//獲取本地時區,判斷如果是負的則相加得到GMC時間,正的則相減
var localUtc = new Date().getTimezoneOffset() / 60;

//得到現在的格林尼治時間
var utcTime;
if (localUtc > 0) {
utcTime = parseInt(local - offset);
} else {
utcTime = parseInt(local + offset);
}

//得到時區的絕對值
var localTime = utcTime + 3600000 * Math.abs(localUtc);

let date = new Date(localTime);
console.log("根據本地時間得知" + localUtc + "時區的時間是 " + date.toLocaleString());
console.log("系統默認展示時間方式是:" + localTime)

return localTime;
},
 
 
總結:1  只要數據庫里面存儲的是時間戳,那么顯示的時候,不用特殊轉換,date函數會默認根據系統的時區轉成當地時間。
         2  一般只處理當前時間的對應的國際化時間。


免責聲明!

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



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