首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将UTC日期时间转换为本地日期时间

将UTC日期时间转换为本地日期时间
EN

Stack Overflow用户
提问于 2011-06-30 02:35:05
回答 30查看 871.2K关注 0票数 436

我从服务器获得了一个datetime变量,格式是:6/29/2011 4:52:48 PM,它采用的是UTC时间。我想使用JavaScript将其转换为当前用户的浏览器时区。

如何使用JavaScript或jQuery来实现这一点?

EN

回答 30

Stack Overflow用户

回答已采纳

发布于 2011-06-30 02:42:23

在javascript中将字符串转换为日期之前,请在字符串后附加'UTC‘:

var date = new Date('6/29/2011 4:52:48 PM UTC');
date.toString() // "Wed Jun 29 2011 09:52:48 GMT-0700 (PDT)"
票数 496
EN

Stack Overflow用户

发布于 2013-08-20 16:43:54

这是一个通用的解决方案:

function convertUTCDateToLocalDate(date) {
    var newDate = new Date(date.getTime()+date.getTimezoneOffset()*60*1000);

    var offset = date.getTimezoneOffset() / 60;
    var hours = date.getHours();

    newDate.setHours(hours - offset);

    return newDate;   
}

用法:

var date = convertUTCDateToLocalDate(new Date(date_string_you_received));

根据客户端本地设置显示日期:

date.toLocaleString();
票数 136
EN

Stack Overflow用户

发布于 2018-02-16 15:38:19

对我来说,上面的解决方案不起作用。

使用IE将UTC日期时间转换为本地时间有点麻烦。对我来说,来自web API的date-time是'2018-02-15T05:37:26.007',我想根据本地时区进行转换,所以我在JavaScript中使用了以下代码。

var createdDateTime = new Date('2018-02-15T05:37:26.007' + 'Z');
票数 54
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6525538

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档