date.setHours() 不起作用

use*_*942 5 javascript datetime

我正在尝试使用 javascript 从给定的日期时间字符串中减去小时数。我的代码是这样的:

     var cbTime = new Date();    
     cbTime = selectedTime.setHours(-5.5);
Run Code Online (Sandbox Code Playgroud)

selectedTime给定时间在哪里(我作为参数传递的时间)。

因此,假设selectedTimeTue Sep 16 19:15:16 UTC+0530 2014 答我得到的是:1410875116995

我想要日期时间格式的答案。我在这里做错了吗?或者有其他的解决方案?

toe*_*lab 4

原因是setHours()setMinutes()等以 anInteger作为参数。来自文档

...

The setMinutes()方法根据当地时间设置指定日期的分钟。

...

参数:

0 到 59 之间的整数,表示分钟。

所以,你可以这样做:

var selectedTime = new Date(),
    cbTime = new Date(); 
   
cbTime.setHours(selectedTime.getHours() - 5);
cbTime.setMinutes(selectedTime.getMinutes() - 30);

document.write('cbTime: ' + cbTime);
document.write('<br>');
document.write('selectedTime: ' + selectedTime);
Run Code Online (Sandbox Code Playgroud)