将日期添加到DateTime

时间:2016-08-18 18:09:39

标签: javascript datetime

我想在日期时间增加1.5小时:

var date = new Date('08/18/2016 19:00:00');

date.setHours(date.getHours() + 1.5);

预期结果:

date = 08/18/2016 20:30:00;

但我有:

date = 08/18/2016 20:00:00;

为什么以及如何做到这一点?

1 个答案:

答案 0 :(得分:4)

  

为什么?

因为setHours不接受小数值。如果您follow through the spec,您会发现它通过抽象ToInteger操作运行小时值,该操作会切断.5

  

怎么做?

setHours实际上接受分钟(以及秒等)作为附加参数:

date.setHours(date.getHours() + 1, date.getMinutes() + 30);

或者,您可以单独执行此操作:

date.setHours(date.getHours() + 1);
date.setMinutes(date.getMinutes() + 30);

或者以毫秒为单位:

date.setTime(date.getTime() + (1.5 * 60 * 60 * 1000));