2014-06-16 74 views
2

要開始了,我知道,一週中的一天在JavaScript從0開始,星期日= 0,星期六= 6的Javascript,getDay()返回錯誤的號碼

然而,有一些簡單的我失蹤這裏,但下面的代碼總是返回我想要的,但少一個。

這應返回6,但返回5

var string = "2014-06-21"; 
var temp = new Date(string); 
alert(temp.getDay()); 

任何人有任何想法怎麼回事錯誤,以及它如何能解決嗎?謝謝。

+0

「2014-06-21」是星期六。 –

+0

從0開始的日子0 – kidwon

+0

@kidwon每週的星期從0開始(因爲OP已經提到過),但是從1 – Ian

回答

3

如果創建一個字符串的日期,一定要指定時間:

var string = "2014-06-21 00:00:00"; 
var temp = new Date(string); 
alert(temp.getDay()); 

你可能會得到前一天,因爲你沒有指定(在日期字符串)的時間。在這種情況下,您的當前時區將使用(我的是GMT-03H)

另一種選擇是使用Date構造函數需要數字作爲它的參數來創建一個日期:

new Date(year,month,day); 

或者,你的情況:

var temp = new Date(2014, 6, 21); 
alert(temp.getDay()); 
+1

開始的月份天數應該是'.getDay()',但是)很好找! – Ian

+1

@伊恩你是對的。我剛剛編輯了我的帖子。謝謝! –