2011-02-09 39 views

Respuesta

128

Restar de otro objeto fecha

var d = new Date(); 

d.setHours(d.getHours() - 2); 
+20

Tenga en cuenta que no hay ninguna razón para crear dos objetos de fecha: 'var d = new Date; d.setHours (d.getHours() - 2); 'Como alternativa, puede crear una nueva fecha a partir de la época:' var d = new Date ((new Date) * 1 - 1000 * 3600 * 2); ' – Phrogz

+2

What sobre restar, por ejemplo ¿20 horas? – ragatskynet

+9

La * obvia * pregunta para hacer, al leer esto - y estoy seguro de que es lo que está en la mente de @ragatskynet - es si se puede garantizar que funcione si 'd.getHours() - 2' es negativo. En realidad, esto se debe respaldar a través de una referencia autorizada o probado a partir de la especificación. –

12

Según Javascript Date Documentation, se puede hacer fácilmente de esta manera:

var twoHoursBefore = new Date(); 
twoHoursBefore.setHours(twoHoursBefore.getHours() - 2); 

y no se preocupe acerca de si las horas que configure estarán fuera de 0..23 distancia. El objeto Date() actualizará la fecha en consecuencia.

Cuestiones relacionadas