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;
var offset =9; //以韩国时间为例,东9区
var korean= utc + (3600000*offset);
var 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

js将UTC时间转化为当地时区时间的更多相关文章

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

    我们在进行网站开发的时候有可能会涉及到国外的用户或者用户身在国外,这时就会存在时差问题,比如说我们在中国的时间是08:00,但是此时韩国的时间是09:00,如果在网页上需要进行相关显示的话就会出现问题 ...

  2. PHP 获取中国时间,即上海时区时间

    /** * 获取中国时间,即上海时区时间 * @param <type> $format * @return <type> */ function getChinaTime($ ...

  3. js Date.UTC() 与 php strtotime()生成的时间截不一样

    Difference in UTC date between PHP and Javascript 工作中,因使用highcharts显示数据,需要将PHP 将日期转换为UTC 时区的时间截,然后通过 ...

  4. 根据本地/服务器时间获取指定时区时间 new Date指定时区时间

    1.代码 function getTimeByTimeZone(timeZone){ var d=new Date(); localTime = d.getTime(), localOffset=d. ...

  5. 时区之痒 - 从手机GPS模块获取的时间,真的是北京时间么?

    去年互联网地图行业开始引入众包模式,国内比较大的地图商,比如四维图新.高德地图.百度地图纷纷开始推出UGC应用,众包给用户采集门址.公交站等信息,并按照工作量给与采集者一定的回报.我曾经玩过某德推出的 ...

  6. 用JS将指定时间转化成用户当地时区的时间

    公司的项目是面向海外用户的,但是最初的设计没考虑到时差问题,存入数据库的时间都是东八区的时间,导致现在补救有点坑爹...... 有一个需求是,产品详细页需要注明此款产品的开售时间,当海外的用户来访问这 ...

  7. UTC 时间转化为北京时间

    // UTC 时间转化为北京时间 function utc2beijing(utcTime) { var T_pos = utcTime.indexOf('T'); var Z_pos = utcTi ...

  8. JS一个根据时区输出时区时间的函数

    做项目遇到的坑爹问题,需要根据时区获取时区中轴线的时间.为此搜了好久网上都没什么JS的代码描述到这一方面,最后自己翻了下高中地理才写了个函数出来. 此图可以看出来,全球分为了0时区,东西1-11区,第 ...

  9. 将本地时间转换成 UTC 时间,0时区时间

    // 将时间戳转换成日期格式: function timestampToTime(timestamp) { var date = new Date(timestamp);//时间戳为10位需*1000 ...

随机推荐

  1. js中的深层复制

    同java一样,数据的复制,不小心就是一个浅复制,莫名其妙的数据就被修改了,所以我们需要考虑深层复制的问题.这里提供一个深层复制的方法. 1.脚本 /** * 深层复制 */ cloneObject ...

  2. memcache原理及环境搭建、测试

    一.原理       Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像.视频.文件以及数据库检索的结果等.简单 ...

  3. get_class

    <?phpclass foo {    function foo()    {    // implements some logic    }    function name()    {  ...

  4. 为什么要使用AOP

    首先,按照软件重构思想的理念,如果多个类中出现相同的代码,应该考虑定义一个共同的抽象类,将这些相同的代码提取到抽象类当中去.比如Horse.Pig.Camel这些对象都有run().eat()方法,通 ...

  5. 前端开发 —— google chart 的使用

    1. 引入所需的 js 库 在 <head></head>中 <script src="https://ajax.googleapis.com/ajax/lib ...

  6. fullPage的使用

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...

  7. 大家一起做训练 第一场 G CD

    题目来源:UVA 624 题目的意思就是:我现在需要从 t 张CD中拿出一部分来,尽可能的凑出接近 N 这么久的音乐,但是不能超过 N. CD不超过20张,每张长度不超过 N ,不能重复选. 一个很简 ...

  8. 实验吧—密码学——WP之 传统知识+古典密码

    仔细读题,发现有价值的信息: 几个不同的年份:“+甲子”:key值结构 首先我们并不知道这些年份在这里代表着什么,那么我们就去百度一下发现了如下所示的六十甲子顺序表 而在表中每个年份前都有数字,将他们 ...

  9. 《DSP using MATLAB》Problem 4.20

    代码: %% ------------------------------------------------------------------------ %% Output Info about ...

  10. YUI JS压缩Ant脚本

    <?xml version="1.0" encoding="UTF-8"?><!-- 对指定目录下的所有js进行压缩,放入指定位置 --> ...