js 时间戳根据时间显示出年月日

转化年月日时分秒的方法

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区,泰国曼谷的时间,如果自己做测试,是比北京时间刚好少一个小时。

东区时间:

零时区-伦敦时间

东一区-柏林时间

东二区-雅典时间

东三区-莫斯科时间

东五区-伊斯兰堡时间

东六区-科伦坡时间

东七区-曼谷时间

东八区-北京时间

东九区-东京时间

东十区-悉尼时间

东十二区-斐济时间

西区时间:

西十区-斐济时间

西九区-阿拉斯加时间

西八区-太平洋时间(美国和加拿大)

西七区-山地时间(美国和加拿大)

西六区-中部时间(美国和加拿大)

西五区-东部时间(美国和加拿大)

西四区-大西洋时间(加拿大

西三区-巴西利亚时间

猜你喜欢

转载自www.cnblogs.com/tanweiwei/p/12711723.html