首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将JavaScript日期转换为协调世界时?

如何将JavaScript日期转换为协调世界时?
EN

Stack Overflow用户
提问于 2009-06-04 11:54:59
回答 25查看 1.1M关注 0票数 722

假设您网站的用户输入了日期范围。

代码语言:javascript
复制
2009-1-1 to 2009-1-3

您需要将此日期发送到服务器进行一些处理,但服务器希望所有日期和时间都是UTC格式。

现在假设用户在阿拉斯加、夏威夷或斐济。由于它们所在的时区与UTC完全不同,因此需要将日期范围转换为以下格式:

代码语言:javascript
复制
2009-1-1T8:00:00 to 2009-1-4T7:59:59

使用JavaScript Date对象,如何将第一个“本地化”的日期范围转换为服务器可以理解的内容?

EN

回答 25

Stack Overflow用户

发布于 2011-07-21 22:14:22

简单而愚蠢

代码语言:javascript
复制
var date = new Date(); 
var now_utc =  Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(),
 date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds());

 return new Date(now_utc);
票数 632
EN

Stack Overflow用户

发布于 2012-08-15 13:41:56

下面是我的方法:

代码语言:javascript
复制
var now = new Date();
var utc = new Date(now.getTime() + now.getTimezoneOffset() * 60000);

生成的utc对象实际上不是UTC日期,而是一个转换为与UTC时间匹配的本地日期(请参阅注释)。然而,在实践中,它做到了这一点。

票数 236
EN

Stack Overflow用户

发布于 2009-06-04 04:20:28

代码语言:javascript
复制
Date.prototype.toUTCArray= function(){
    var D= this;
    return [D.getUTCFullYear(), D.getUTCMonth(), D.getUTCDate(), D.getUTCHours(),
    D.getUTCMinutes(), D.getUTCSeconds()];
}

Date.prototype.toISO= function(){
    var tem, A= this.toUTCArray(), i= 0;
    A[1]+= 1;
    while(i++<7){
        tem= A[i];
        if(tem<10) A[i]= '0'+tem;
    }
    return A.splice(0, 3).join('-')+'T'+A.join(':');    
}
票数 26
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/948532

复制
相关文章

相似问题

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