• js将UTC时间转化为当地时区时间(UTC转GMT)


    我们在进行网站开发的时候有可能会涉及到国外的用户或者用户身在国外,这时就会存在时差问题,比如说我们在中国的时间是08:00,但是此时韩国的时间是09:00,如果在网页上需要进行相关显示的话就会出现问题,那作为一个前端该怎么解决这个问题呢?

    前端通过请求获取的时间一般都是时间戳格式,这个时间戳一般就是UTC时间(*UTC:最接近标准时间的一个时间标准),而我们在网页上需要显示的是GMT时间,下面就是根据本地时间获得GMT时间和任意时区的时间函数:

    1.将本地时间转化成任意时区的时间(如:通过本地时间获取韩国的时间):

    首先我们需要知道韩国的时区,这个可以网上查,韩国时区为东9区.

      var d=new Date();
      var localTime = d.getTime();
      var localOffset=d.getTimezoneOffset()*60000;   //getTimezoneOffset()返回是以分钟为单位,需要转化成ms
      var utc = localTime + localOffset;
      offset =9; //以韩国时间为例,东9区
      korean= utc + (3600000*offset);
      nd = new Date(korean);
      console.log("Korean time is " + nd.toLocaleString());

     2.UTC时间转化为本地时区时间(UTC时间格式一般为 "2017-11-16T05:23:20.000Z");

    convertUTCTimeToLocalTime: function (UTCDateString) {
            if(!UTCDateString){
              return '-';
            }
            function formatFunc(str) {    //格式化显示
              return str > 9 ? str : '0' + str
            }
            var date2 = new Date(UTCDateString);     //这步是关键
            var year = date2.getFullYear();
            var mon = formatFunc(date2.getMonth() + 1);
            var day = formatFunc(date2.getDate());
            var hour = date2.getHours();
            var noon = hour >= 12 ? 'PM' : 'AM';
            hour = hour>=12?hour-12:hour;
            hour = formatFunc(hour);
            var min = formatFunc(date2.getMinutes());
            var dateStr = year+'-'+mon+'-'+day+' '+noon +' '+hour+':'+min;
            return dateStr;
          },
    console.log(convertUTCTimeToLocalTime("2017-11-16T05:23:20.000Z"));    
    //2017-11-16 PM 01:23
     

    参考地址:http://bjtime.cn/info/view.asp?id=223

  • 相关阅读:
    剑桥雅思写作高分范文ESSAY96
    剑桥雅思写作高分范文ESSAY95
    剑桥雅思写作高分范文ESSAY94
    剑桥雅思写作高分范文ESSAY93
    剑桥雅思写作高分范文ESSAY92
    剑桥雅思写作高分范文ESSAY91
    PHP 伪静态规则写法RewriteRule-htaccess详细语法使用
    php页面静态常用函数
    正则函数[原则,能用字符串函数解决不用正则,速度问题]s
    使用xshell文件传输
  • 原文地址:https://www.cnblogs.com/qilj/p/7455182.html
Copyright © 2020-2023  润新知