时区之时间戳
间戳是一段记录秒数的整数,它表示从1970年1月1日00:00:00 UTC开始至今的秒数(或毫秒数)
任何时区的时间戳都是相同
获取当前时区:
new Date().getTimezoneOffset()/-60(60),
中国属于东8区
function formatTime(date) { const year = date.getFullYear(); const month = date.getMonth() + 1; const day = date.getDate(); const hour = date.getHours(); const minute = date.getMinutes(); const second = date.getSeconds(); return [year, month, day].map(formatNumber).join('-') + ' ' + [hour, minute, second].map(formatNumber).join(':'); } const formatNumber = (n) => { const str = n.toString(); return str[1] ? str : '0' + str; };
*******/ function getLocalTime(i, timeVal) { //参数i为时区值数字,比如北京为东八区则输进8,西5输入-5 if (typeof i !== 'number') return; var d = new Date(timeVal); //得到1970年一月一日到现在的秒数 var len = timeVal; //本地时间与GMT时间的时间偏移差 var offset = d.getTimezoneOffset() * 60000; //得到现在的格林尼治时间 var utcTime = len + offset; return formatTime(new Date(utcTime + 3600000 * i)); }