2013-09-10 101 views
0

我試圖對抗樹本sintaxJavaScript的新日期(日期)返回錯誤的一天

var from = new Date(1900,0,0); 
var to = new Date(); 
var dataTicket = new Date(dataString); 

    if (dataTicket > from && dataTicket < to) { 
    alert("OK"); 
    } 

javascript日期對象,但因爲dataTicket繼續給我錯了一天,我不能得到這個工作!

當我在控制檯檢查我的if語句有這樣的價值觀:

dataString = 「星期二2013年9月10日22時44分07秒格林尼治標準時間0200(ORA LEGALE歐洲西的)」

從= 「太陽1899年12月31日00:00:00 GMT + 0100(ORA SOLARE歐洲西的)」

到= 「星期二2013年9月10日23點32分44秒GMT + 0200(ORA LEGALE歐洲西的)」

這裏來了奇怪的事情:

dataTicket =「星期三2013年9月11日0點44分07秒GMT + 0200(ORA LEGALE歐洲西的)」

我可以得到它的工作,因爲dataTicket爲1天之後,它的分配,這方面有任何線索?

+0

個月,從'0'開始這dataString將工作,天'1' –

+0

上啓動,然後如果我設置每月10我會得到九月代替十月對?但在這裏我是第11天,而設置10:\ – CLucera

回答

0

您的dateString有損壞zone的一部分。對於RFC2822,zone應該有一個+-,但你的不是,然後它被解釋爲UTC(+0000);實際上時間是00:44:27而不是22:44:27。

dataString = "Tue Sep 10 2013 22:44:07 GMT+0200 (ora legale Europa occidentale)" 

預期(注意+號)

+0

這真的很奇怪,dataString是用新的Data()創建的,爲什麼我失去了+號? :\我要檢查這個 – CLucera

+0

好吧,我需要編碼的日期對象,當我發送它在ajax後:) – CLucera

相關問題