Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Can';t 2012/10/20的预付款日_Javascript_Date_Dst_Date Arithmetic - Fatal编程技术网

Javascript Can';t 2012/10/20的预付款日

Javascript Can';t 2012/10/20的预付款日,javascript,date,dst,date-arithmetic,Javascript,Date,Dst,Date Arithmetic,试试这个: date = new Date(2012,9,20) Sat Oct 20 2012 00:00:00 GMT-0300 (BRT) new Date(date.getFullYear(), date.getMonth(), date.getDate()+1) Sat Oct 20 2012 23:00:00 GMT-0300 (BRT) (在铬和萤火虫上测试) 但这是可行的: date = new Date(2012,10,20) Sat Nov 20 2012 00:00:00

试试这个:

date = new Date(2012,9,20)
Sat Oct 20 2012 00:00:00 GMT-0300 (BRT)
new Date(date.getFullYear(), date.getMonth(), date.getDate()+1)
Sat Oct 20 2012 23:00:00 GMT-0300 (BRT)
(在铬和萤火虫上测试)

但这是可行的:

date = new Date(2012,10,20)
Sat Nov 20 2012 00:00:00 GMT-0300 (BRT)
new Date(date.getFullYear(), date.getMonth(), date.getDate()+1)
Sat Nov 21 2012 0:00:00 GMT-0300 (BRT)
它工作得很好:

console.log(date = new Date(2012,9,20))
console.log(new Date(date.getFullYear(), date.getMonth(), date.getDate()+1))
// returns:
// Sat Oct 20 2012 00:00:00 GMT+0200 (West-Europa (zomertijd))
// Sun Oct 21 2012 00:00:00 GMT+0200 (West-Europa (zomertijd))
(不要介意结尾的本地化字符串)

很明显,你刚刚到达了夏令时开始的那一天。请尝试使用
Date.UTC()
,除非您特别需要时间进行本地化。

它可以正常工作:

console.log(date = new Date(2012,9,20))
console.log(new Date(date.getFullYear(), date.getMonth(), date.getDate()+1))
// returns:
// Sat Oct 20 2012 00:00:00 GMT+0200 (West-Europa (zomertijd))
// Sun Oct 21 2012 00:00:00 GMT+0200 (West-Europa (zomertijd))
(不要介意结尾的本地化字符串)


很明显,你刚刚到达了夏令时开始的那一天。请尝试使用
Date.UTC()
,除非您特别需要本地化时间。

现在是夏令时:在GMT-0300中,时间倒转1小时。 您的样本在GMT+0400时区运行良好


请参见问题

这是夏令时:在GMT-0300的这个时候,时间倒转1小时。 您的样本在GMT+0400时区运行良好


参见问题

问题在于巴西的夏令时从10月20日开始()。尝试使用UTC时间:

date= new Date(Date.UTC(2012,9,20)); // zero-based month: 9->october
new Date(Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate()+1))
这将使你的约会进程独立于夏令时,让你的过渡顺利进行。有关详细信息,请参阅

或者,你可以把你的约会时间设定在中午,比如说中午,如果你真正关心的是白天。
date = new Date(2012,9,20,12)
new Date(date.getFullYear(), date.getMonth(), date.getDate()+1)

问题在于,巴西的夏时制始于10月20日()。尝试使用UTC时间:

date= new Date(Date.UTC(2012,9,20)); // zero-based month: 9->october
new Date(Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate()+1))
这将使你的约会进程独立于夏令时,让你的过渡顺利进行。有关详细信息,请参阅

或者,你可以把你的约会时间设定在中午,比如说中午,如果你真正关心的是白天。
date = new Date(2012,9,20,12)
new Date(date.getFullYear(), date.getMonth(), date.getDate()+1)


Firefox 17 Ubuntu-也无法复制。这是夏时制的时间问题…Firefox 17 Ubuntu-也无法复制。这是夏时制的时间问题…是的,因为您的日期对象设置为与OP不同的时区,您的答案完全不相关。请注意,您不能在js中显式设置时区,您必须实际更改系统时区,以便为日期对象使用不同的时区。然后,这个问题也可以作为“太本地化”的教科书示例来解决。不,这与任何碰巧在巴西编程的人都非常相关。对其他人来说,这可能没什么大不了的……正确的答案对任何人都有帮助:始终使用UTCYes,因为您的日期对象设置为与OP不同的时区,所以您的答案完全无关。请注意,您不能在js中显式设置时区,您必须实际更改系统时区,以便为日期对象使用不同的时区。然后,这个问题也可以作为“太本地化”的教科书示例来解决。不,这与任何碰巧在巴西编程的人都非常相关。对其他人来说,这可能没什么大不了的……正确的答案对任何人都有帮助:始终使用UTC这还不够,你必须使用
date.getUTCFullYear()
date.getUTCMonth()()
date.getUTCDate()
还有,
date
是一个数字,需要
date=新日期(date.UTC>)(..
:PIt需要
新的日期(Date.UTC)(
再次在第2行,我会给出+1这是我没有真正测试它得到的结果…无论如何,我也做了最后一次更正。你得到了我的+1()和
date.getUTCDate()
另外,
date
是一个数字,需要
date=新日期(date.UTC(…
):PIt需要
新日期(date.UTC>)(
再次在第2行,我将给出+1,这是我没有真正测试它所得到的…无论如何,我也做了最后一次更正。你得到了我的+1..但想想你可以用我的