2014-11-06 14 views
0

我想要得到的日期和時間格式如下:從Javascript獲取日期帶有奇怪的值

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以及如何改變他們是我想要的嗎?

+0

[如何在JavaScript中獲取當前日期?](http://stackoverflow.com/questions/1531093/how-to-get-current-date-in-javascript) – Cherniv 2014-11-06 12:43:50

回答

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'); 
0

只要確保你正在使用你想使用e.g什麼方法:

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

有關進一步的參考看到this

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); 
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()這星期幾

0

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

您需要使用getDate()知道多少(從1到31)

此外,您需要將1添加到getMonth(),因爲JavaScript中的月份從0開始