您好,我使用javascript:

var newhour = 20.5;
hour.setHours(newhour);

问题是当我执行console.log(hour)时,我得到20:05但我想获得20:30

我怎样才能做到这一点 ?

非常感谢 !

最佳答案

您需要将0.5转换为分钟数:

var newhour = 20.5;

var hour = new Date();

var newhours = Math.floor(newhour),
    newmins  = 60 * (newhour - newhours);

hour.setHours(newhours);
hour.setMinutes(newmins);

console.log(hour.toTimeString());

09-30 23:32