Это поражает меня, что объект Даты JavaScript не реализует добавить функцию никакого вида.
Я просто хочу функцию, которая может сделать это:
var now = Date.now();
var fourHoursLater = now.addHours(4);
function Date.prototype.addHours(h) {
// how do I implement this?
}
Я просто хотел бы некоторые указатели в направлении.
Я должен сделать строковый парсинг?
Я могу использовать setTime?
Как насчет миллисекунд?
Как это:
new Date(milliseconds + 4*3600*1000 /*4 hrs in ms*/)?
Это кажется действительно hackish, хотя - и это даже работает?
Сам JavaScript имеет ужасную дату / время API. Тем не менее, вы можете сделать это на чистом JavaScript:
Date.prototype.addHours = function(h) {
this.setTime(this.getTime() + (h*60*60*1000));
return this;
}
В библиотеке Datejs есть добавление.
А вот методы даты JavaScript . Кеннебек мудро упомянул getHours () и setHours ();
Date.prototype.addHours= function(h){
this.setHours(this.getHours()+h);
return this;
}
Тест:
alert(new Date().addHours(4));