JavaScript 新日期(日期)返回错误的日期

javascript new Date(date) return wrong day

本文关键字:日期 错误 返回 JavaScript 新日期      更新时间:2023-09-26

我试图用这个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");
     }

但我无法让它工作,因为数据票继续给我错误的一天!

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

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

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

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

奇怪的事情来了:

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

我可以让它工作,因为 dataTicket 值是在分配后的一天,对此有什么线索吗?

您的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)"

dataString将按预期工作(请注意+符号)