转化年月日时分秒的方法
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; };
时区转化方法
/***** * i 为时区值 * timeVal 传入的时间戳 *******/ 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)); } console.log(getLocalTime(7, 1586941817471)); //东7区,泰国曼谷的时间,如果自己做测试,是比北京时间刚好少一个小时。
东区时间:
零时区-伦敦时间
东一区-柏林时间
东二区-雅典时间
东三区-莫斯科时间
东五区-伊斯兰堡时间
东六区-科伦坡时间
东七区-曼谷时间
东八区-北京时间
东九区-东京时间
东十区-悉尼时间
东十二区-斐济时间
西区时间:
西十区-斐济时间
西九区-阿拉斯加时间
西八区-太平洋时间(美国和加拿大)
西七区-山地时间(美国和加拿大)
西六区-中部时间(美国和加拿大)
西五区-东部时间(美国和加拿大)
西四区-大西洋时间(加拿大
西三区-巴西利亚时间