Como subtrair 2 horas da hora local do usuário?

122

Alguém pode me fornecer um bloco de código JavaScript simples que permita exibir a hora local menos 2 horas?

Etienne
fonte

Respostas:

259

Subtrair de outro objeto de data

var d = new Date();

d.setHours(d.getHours() - 2);
BrunoLM
fonte
32
Posso confirmar (executando no console Javascript do Chrome) que funciona com um valor negativo. Ou seja, d.setHours(d.getHours() - 24)rebobina d para a mesma hora no dia anterior.
21415 Adam Smith Loving
@InzamamMalik sim, vai mudar a data. codepen.io/anon/pen/BxgqzP
BrunoLM
32

De acordo com a documentação de data do Javascript , você pode facilmente fazer desta maneira:

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

E não se preocupe se o horário definido estiver fora do 0..23alcance. O objeto Date () atualizará a data adequadamente.

Kostanos
fonte