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

      

    东区时间:

    零时区-伦敦时间

    东一区-柏林时间

    东二区-雅典时间

    东三区-莫斯科时间

    东五区-伊斯兰堡时间

    东六区-科伦坡时间

    东七区-曼谷时间

    东八区-北京时间

    东九区-东京时间

    东十区-悉尼时间

    东十二区-斐济时间

    西区时间:

    西十区-斐济时间

    西九区-阿拉斯加时间

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

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

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

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

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

    西三区-巴西利亚时间

  • 相关阅读:
    vi 编辑内容中查找字符位置
    使用 Oracle GoldenGate 在 Microsoft SQL Server 和 Oracle Database 之间复制事务
    EBS R12 更改SYSADMIN密码
    两种步骤 更改 EBS R12界面LOGO以及内容
    Get Current LOV Query SQL
    Oracle Gateways透明网关访问SQL Server
    Oracle 数据集成的实际解决方案
    将SQLServer2005中的数据同步到Oracle中
    ogg实现oracle到sql server 2005的同步
    wince和window mobile winphone
  • 原文地址:https://www.cnblogs.com/tanweiwei/p/12711723.html
Copyright © 2020-2023  润新知