2013-09-10 81 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

相关问题