¿Cómo restar 2 horas de la hora local del usuario?

122

¿Alguien puede darme un bloque de código JavaScript simple que me permita mostrar la hora local menos 2 horas?

Etienne
fuente

Respuestas:

259

Restar de otro objeto de fecha

var d = new Date();

d.setHours(d.getHours() - 2);
BrunoLM
fuente
32
Puedo confirmar (mediante la ejecución en la consola Javascript de Chrome) que funciona con un valor negativo. Es decir, d.setHours(d.getHours() - 24)rebobina d a la misma hora del día anterior.
Adam Loving
@InzamamMalik sí, va a cambiar la fecha. codepen.io/anon/pen/BxgqzP
BrunoLM
33

De acuerdo con la documentación de fecha de Javascript , puede hacerlo fácilmente de esta manera:

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

Y no se preocupe si las horas que establezca estarán fuera de 0..23rango. El objeto Date () actualizará la fecha en consecuencia.

Kostanos
fuente