functiongetBeijingtime(i, val){// i为时区值数字,北京为东八区则输进8,西5输入-5let d =newDate(val)//得到1970年1月1日到现在的秒数let len = val
//本地时间与GMT时间的时间偏移差let offset = d.getTimezoneOffset()*60000//得到现在的格林尼治时间let utcTime = len + offset
// 得到一个时间对象returnnewDate(utcTime +3600000*8)}getBeijingtime(8,1615537232000)// Fri Mar 12 2021 16:20:32
2. 无论在哪个时区都把时间当成北京时间 转成时间戳
functiongetTimeStamp(val){// 要转的时间let currentDate =newDate(val)//当前客户端对应的北京时间的年月日...let y = currentDate.getFullYear()let m = currentDate.getMonth()let d = currentDate.getDate()let h = currentDate.getHours()let mm = currentDate.getMinutes()let ss = currentDate.getSeconds()// Date.UTC() 方法接受的参数同日期构造函数接受最多参数时一样,返回从1970-1-1 00:00:00 UTC到指定日期的的毫秒数。let timeObj =Date.UTC(y, m, d, h, mm, ss,0)/1000-(8*60*60)return timeObj
}getTimeStamp('2021-03-12 16:20:32')// 1615537232