从Javascript获取日期会产生奇怪的价值

时间:2014-11-06 12:37:08

标签: javascript date date-formatting

我希望以下列格式获取日期和时间:

yyyy.mm.dd.hh.mm.ss | 2014.11.6.20.31.24

但是,我的代码(基于Get Current Time)提供了以下值:

y??.m?.d?.hh.mm.ss | 114.10.4.20.31.24

这是我的代码:



var dt = new Date();
var time = dt.getHours() + "." + dt.getMinutes() + "." + dt.getSeconds();
var date = dt.getYear() + "." + dt.getMonth() + "." + dt.getDay();
alert(date + "." + time);




有人可以让我知道为什么这些奇怪的值在114.10.4,以及如何将它们更改为我想要的?

5 个答案:

答案 0 :(得分:2)

那是因为你需要使用



var dt = new Date();
var time = dt.getHours() + "." + dt.getMinutes() + "." + dt.getSeconds();
var date = dt.getFullYear() + "." + (dt.getMonth()+1) + "." + dt.getDate();
alert(date + "." + time);





如果出于一些奇怪的原因,你只使用firefox,你可以使用

var d = new Date(),
    formatted = d.toLocaleFormat('%Y.%m.%d.%H.%M.%S');

alert(formatted);

最后,您可以使用优秀的moment.js库并执行

var formatted = moment().format('YYYY.MM.DD.HH.mm.ss');

答案 1 :(得分:1)

你使用了错误的吸气剂。使用getFullYear()代替getYear()getDate()代替getDay()。并在月份中添加1,因为它从0开始。

var dt = new Date();
var time = dt.getHours() + "." + dt.getMinutes() + "." + dt.getSeconds();
var date = dt.getFullYear() + "." + (dt.getMonth() + 1) + "." + dt.getDate();
alert(date + "." + time);

答案 2 :(得分:0)

请确保您使用的方法是:

dt.getYear() => dt.getFullYear()

有关详细信息,请参阅this

答案 3 :(得分:0)

应使用getFullYear()代替getYear()getMonth() + 1代替getMonth(),因为它计算的形式为0..11,有关getDay()的信息

var dt = new Date();
var time = dt.getHours() + "." + dt.getMinutes() + "." + dt.getSeconds();
var date = dt.getFullYear() + "." + dt.getMonth() + 1 + "." + dt.getDate();
alert(date + "." + time);

dt.getDay()一周的这一天

答案 4 :(得分:0)

getDay()方法返回星期几(从0到6)

您需要使用getDate()来了解当天的号码(从1到31)

此外,您需要向getMonth()添加1,因为JavaScript中的月份从0开始