JS:错误的UTC时间

时间:2013-12-04 16:35:24

标签: javascript utc

我有一个unix时间戳。我想将其渲染为UTC时间

在JS控制台中:

var a = new Date(); 
var res = a.getUTCDay()+ '-' + a.getUTCMonth() + '-' + a.getUTCFullYear(); 
res;

结果是“3-11-2013”​​,但'a'变量的值是“Wed,04 Dec 2013 16:28:03 GMT”

有什么问题?

3 个答案:

答案 0 :(得分:7)

  

有什么问题?

getUTCDay返回星期几,而不是月中的某天:

  

getUTCDay()方法根据通用时间返回指定日期的星期几,其中0代表星期日。

getUTCMonth返回月份,0基于:

  

getUTCMonth返回的值是0到11之间的整数,对应于月份。 1月为0,2月为1,3月为2,依此类推。

您想要使用.getUTCDate并将+1添加到.getUTCMonth的返回值:

var res = [a.getUTCDate(), a.getUTCMonth() + 1, a.getUTCFullYear()].join('-');

答案 1 :(得分:5)

getUTCDay()getUTCMonth()都是基于索引的(以0开头),您需要+1主题才能获得“真实”值

答案 2 :(得分:0)

除非您的代码库非常小,否则我会避免使用这些糟糕的原生JS日期格式化函数,只需导入Moment.js