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

      

    东区时间:

    零时区-伦敦时间

    东一区-柏林时间

    东二区-雅典时间

    东三区-莫斯科时间

    东五区-伊斯兰堡时间

    东六区-科伦坡时间

    东七区-曼谷时间

    东八区-北京时间

    东九区-东京时间

    东十区-悉尼时间

    东十二区-斐济时间

    西区时间:

    西十区-斐济时间

    西九区-阿拉斯加时间

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

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

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

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

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

    西三区-巴西利亚时间

  • 相关阅读:
    java内存模型
    如何保证消费者接收消息的顺序
    mysql事务隔离级别
    mysql加锁读
    mysql一致性读
    InnoDB锁
    JDK1.8中的线程池
    JDK1.8中HashMap实现
    物品推荐(基于物品的协同过滤算法)
    CRM 2013 生成自动编号
  • 原文地址:https://www.cnblogs.com/tanweiwei/p/12711723.html
Copyright © 2011-2022 走看看