Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Вычитание даты (https://javascript.ru/forum/misc/1534-vychitanie-daty.html)

kodermax 08.08.2008 14:33

Вычитание даты
 
Как вычесть из опеределенной даты 14 дней?

ZoNT 08.08.2008 14:48

var d = new Date();
var d = new Date(d-14*1000*60*60*24)

kodermax 08.08.2008 14:54

а вот так можно
Date.prototype.addDays = function(d) {
  this.setDate( this.getDate() + d );
};

?

Андрей Параничев 08.08.2008 14:56

kodermax,
Да.

kodermax 08.08.2008 15:00

Точнее вот так
Date.prototype.subDays = function(d) {
  this.setDate( this.getDate() - d );
};

Виталий 08.08.2008 15:14

Date.prototype.addDays = function( d ) {
this.setDate( this.getDate() + d ) ;
};

более правильнее, т.к. можно сделать Date.addDays( -14 ) ;

kodermax 08.08.2008 15:37

Цитата:

Сообщение от Виталий (Сообщение 4339)
Date.prototype.addDays = function( d ) {
this.setDate( this.getDate() + d ) ;
};

более правильнее, т.к. можно сделать Date.addDays( -14 ) ;

Спасибо!

vaolur 17.04.2013 16:34

Ну а если делать совсем правильно, то должно быть вот так:

Date.prototype.addDays = function( d ) {
   this.setDate( this.getDate() + d ) ;
   return this;
};


Тогда, например, смещение от текущей даты можно будет вычислить в одну строку:

var d = (new Date()).addDays(-10); // Дата на 10 дней раньше текущей


а предыдущий вариант функции вернул бы
undefined


Часовой пояс GMT +3, время: 03:50.