在javascript中获取添加了小时数的日期

在javascript中获取添加了小时数的日期,javascript,datetime,Javascript,Datetime,我需要在javascript中获得一些日期并为其添加一些时间。 如果要进行分配: start_date_time= selectedAppointmentDate 然后更改开始日期时间变量,然后选择应用点日期变量也会更改,这不是我需要的 我试着做一些普通的函数,比如 var start_date_time = getDate(selectedAppointmentDate, start_hour, start_minute ) function getDate(dat, addHours

我需要在javascript中获得一些日期并为其添加一些时间。 如果要进行分配:

start_date_time= selectedAppointmentDate
然后更改开始日期时间变量,然后选择应用点日期变量也会更改,这不是我需要的

我试着做一些普通的函数,比如

var start_date_time = getDate(selectedAppointmentDate, start_hour, start_minute )  

function getDate(dat, addHours, addMinutes, addSeconds ) {
    if ( !(dat instanceof Date) ) {
        dat= new Date();
    }
    var retDate= Date( dat.getFullYear(), dat.getMonth() , dat.getDate()  );
    alert( "retDate::"+retDate)  // It shows valid date value like "retDate::Fri Nov 28 2014 11:08:03 GMT+0200"

    if ( addHours != '' && addHours!= null && typeof addHours != "undefined") {
        retDate.addHours(addHours) // But on this line I got error in console : "TypeError: retDate.addHours is not a function"
    }
}
哪种方法正确

谢谢

提示:当您搜索“mdn”时,google会直接将您指向一个。没有所谓的“添加小时数”。尝试
setHours(getHours+x)
var date = new Date(); //AppointmentDate or date string in case of value retrieved from dom
var dateTime = setTimeToDate(date, 1, 2, 3);//pass h=m=s=0 for date part only
function setTimeToDate(date, h, m, s) {
    var newDate;
    if(isNaN(Date.parse(date))) {//instanceof Date = false if you read the value from DOM(i.e string)
        newDate = new Date();
    } else {
        newDate = new Date(date);
    }
    if(!isNaN(h)) {
        newDate.setHours(h);
    }
    if(!isNaN(m) !== NaN) {
        newDate.setMinutes(h);
    }
    if(!isNaN(s) !== NaN) {
        newDate.setSeconds(h);
    }
    return newDate;
}