js将其他时区转化为GMT+8时区时间
2021-01-04 12:29
标签:时区 highlight string fse off sharp sub 北京时间 let js将其他时区转化为GMT+8时区时间 标签:时区 highlight string fse off sharp sub 北京时间 let 原文地址:https://www.cnblogs.com/cherryshuang/p/13620389.html//getTimezoneOffset() 方法可返回格林威治时间和本地时间之间的时差,以分钟为单位
var d = new Date()
document.write(d.getTimezoneOffset()); //-480(北京时间)
//获取本地时区,GMT+8指的是东八区,比格林威治时间快8个小时
new Date().getTimezoneOffset()/60; //-8 (北京时间)
//将不同时区的时间转化为北京时间的时间戳哦
getNowSeconds(){
//本地时间 + 本地时间与格林威治时间的时间差 + GMT+8与格林威治的时间差
return new Date(new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000
}
//将时间字符串转化为时间戳,如:‘2020-09-06 00:00:00‘
function fromStrToStamp(str){
let date = str.substring(0,19);
date = date.replace(/-/g,‘/‘); //将‘-‘转化为‘/‘是因为有的手机上new Date(‘2020-09-06 00:00:00‘)会报错,所以统一转化为‘2020/09/06 00:00:00‘格式
let time = new Date(date).getTime() - new Date().getTimezoneOffset() * 60 * 1000 - 8 * 60 * 60 * 1000; //考虑时区的差异,统一转化为东八区时间
return time;
}