首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用javascript获取UTC格式的日期,而不考虑当前系统日期?

如何使用javascript获取UTC格式的日期,而不考虑当前系统日期?
EN

Stack Overflow用户
提问于 2016-04-27 13:03:42
回答 4查看 501关注 0票数 2

我正在尝试获取UTC格式的当前日期。到目前为止,我可以做到这一点,但我坚持的是,它检查当前的‘系统日期’并返回结果。我不希望发生这种情况,因为我特别需要UTC格式,而不是通过获取系统日期。

此外,我输出结果的格式是我想要的格式,不做任何更改。任何建议都会有很大帮助。

下面是我的代码:

代码语言:javascript
运行
复制
var now = new Date();
var currentDate;
var date = (new Date(now) + '').split(' ');
date[0] = date[0] + ',';
date[2] = date[2] + ',';
currentDate = [date[0], date[1], date[2], date[3]].join(' ');
return currentDate;

这返回为Wed,Apr26,2016。如果此代码在其他地方运行,时差为+-12,则日期将是以UTC表示系统日期,这是我不想要的。

EN

回答 4

Stack Overflow用户

发布于 2016-04-27 13:38:17

保持跨浏览器格式一致的惟一方法是使用Date#getUTC*函数构建一个小的实用函数,或者使用一个可以为您完成此任务的库。我会选择前者。你可以使用类似这样的东西:

代码语言:javascript
运行
复制
function getUTCDateString(){
    var d = new Date();
    var days = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'];
    var month  = ['Jan', 'Feb', 'Mar', 'April', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];

    return (
        days[d.getUTCDay()-1]
        + ', ' + month[d.getUTCMonth()]
        + d.getUTCDate() 
        + ', ' + d.getUTCFullYear()
        );
}

如果您进行任何本地化编程,复杂性会迅速增加,并且引入一些提到的库会更有意义。

票数 2
EN

Stack Overflow用户

发布于 2016-04-27 13:31:03

如果您需要保留您提到的输出,请查看以下内容:

代码语言:javascript
运行
复制
var dateString = new Date().toUTCString().split(' ');
return dateString[0] + " " + dateString[2] + dateString[1] + ", " + dateString[3];

对于Date here,还有其他一些有用的UTC方法。

票数 1
EN

Stack Overflow用户

发布于 2016-04-27 13:13:53

你调查过momentjs了吗?它是一个date对象包装器,可以使操作日期变得简单。只需使用提供的utc()函数即可。http://momentjs.com/docs/#/manipulating/utc/

通过npm安装moment后,示例代码如下:

代码语言:javascript
运行
复制
var moment = require("moment");

 var utcNow = moment().utc();

 console.log(utcNow);

这将输出当前utc日期

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36880730

复制
相关文章

相似问题

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