bra*_*obo 1 javascript date date-arithmetic dst
试试这个:
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)
Run Code Online (Sandbox Code Playgroud)
(在Chrome和Firebug上测试过)
但这有效:
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)
Run Code Online (Sandbox Code Playgroud)
问题是夏令时的开始时间是10月20日在巴西(BRT)开始的.尝试使用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))
Run Code Online (Sandbox Code Playgroud)
这应该使您的日期提升与夏令时无关,从而使您的过渡顺利进行.有关更多信息,请参阅Javascript日期:处理夏令时的最佳方法是什么?
或者,您可以将日期的时间设置为中午的某些时间,例如中午,如果您真正关心的是当天.
date = new Date(2012,9,20,12)
new Date(date.getFullYear(), date.getMonth(), date.getDate()+1)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
123 次 |
| 最近记录: |