0

我试图用这个 sintax 对抗树 javascript Date 对象

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

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

但我无法让这个工作,因为 dataTicket 继续给我错误的一天!

当我在控制台中检查时,我在 if 语句中有这个值:

dataString = "2013 年 9 月 10 日星期二 22:44:07 GMT 0200 (ora legale Europa occidentale)"

来自 = "Sun Dec 31 1899 00:00:00 GMT+0100 (ora solare Europa occidentale)"

to="2013 年 9 月 10 日星期二 23:32:44 GMT+0200 (ora legale Europa occidentale)"

奇怪的事情来了:

dataTicket = "2013 年 9 月 11 日星期三 00:44:07 GMT+0200 (ora legale Europa occidentale)"

我可以让它工作,因为 dataTicket 值是它分配后的一天,关于这个有什么线索吗?

4

1 回答 1

0

dateString的零件坏zone了。对于 RFC2822,zone应该有+or -,但你的没有,然后它被解释为 UTC (+0000); 实际上时间是 00:44:27 而不是 22:44:27。

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

dataString将按预期工作(注意+标志)

于 2013-09-10T22:15:23.767 回答