我想给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;
为什么要这么做?怎么做?
为什么?
因为setHours
不接受小数。如果您遵循规范,您会发现它通过抽象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));