Javascript 在日期列表中添加天数

Javascript 在日期列表中添加天数,javascript,Javascript,我尝试在一个日期中添加3天,如下所示: var dat = new Date(2014,9,16); 2014年10月16日星期四00:00:00 GMT-0300(巴西官方时间) 2014年10月18日星期六23:00:00 GMT-0300(巴西官方时间) 为什么这个不退这个 2014年10月19日星期六23:00:00 GMT-0300(巴西官方时间)?检查此项 这样试试看 var date = new Date(2014,9,16); // Get user define

我尝试在一个日期中添加3天,如下所示:

var dat = new Date(2014,9,16);
2014年10月16日星期四00:00:00 GMT-0300(巴西官方时间)

2014年10月18日星期六23:00:00 GMT-0300(巴西官方时间)

为什么这个不退这个 2014年10月19日星期六23:00:00 GMT-0300(巴西官方时间)?

检查此项

这样试试看

var date = new Date(2014,9,16);        // Get user define Date
date.setDate(date.getDate() + 3);     // add 3 days to user define date
alert(date);

我相信这个问题与巴西的夏令时规则有关。10月19日午夜,在巴西实行夏令时的地区,时钟被拨慢一小时

试试这个:

var d = new Date(2014, 9, 16);
d.setHours(5); // 5 in the morning
d.setDate(19);
console.log(d);

让DST转换在午夜进行一定会让巴西人有点疯狂。

但是为什么等我给你看演示,我接受我的类型错误,但我接受。好吧,那更好,但它仍然基本上与OP所做的一样(16+3是19)。我尝试过这个,但返回相同的结果:2014年10月18日星期六23:00:00 GMT-0300(Hora of icial do Brasil),取而代之的是2014年10月19日星期六23:00:00 GMT-0300(Hora of icial do Brasil)好的,谢谢@Pointy给你更多的时间,现在你检查一下这是工作。@rayashi对的,因为你还在巴西:)@rpax我不认为这是另一个bug的复制品;即使是这样,这个bug中也有很多混乱和错误信息。谢谢!这解决了我的问题
var d = new Date(2014, 9, 16);
d.setHours(5); // 5 in the morning
d.setDate(19);
console.log(d);