Início do dia em JavaScript
Vamos obter um objeto de data contendo o início do dia atual:
let now = new Date();
let date = new Date(now.getFullYear(), now.getMonth(), now.getDate(), 0, 0, 0);
Como você já sabe, os parâmetros do objeto Date
podem ser omitidos a partir do final. Neste caso, as horas,
minutos e segundos terão o valor 0.
Vamos omiti-los:
let now = new Date();
let date = new Date(now.getFullYear(), now.getMonth(), now.getDate());
Mas o dia não pode ser omitido, pois se
for omitido, assumirá o valor 1, e
precisamos do dia atual. Omitir o mês, sem
omitir o ano, também não é possível de acordo com as regras de funcionamento
do Date.
Também não é possível omitir simultaneamente o ano, mês e dia -
neste caso, será considerado o momento
atual. Por que isso é ruim, se precisamos
do ano atual, do mês atual e do dia atual? O problema é que precisamos da meia-noite,
ou seja, as horas, minutos e segundos devem ter
o valor 0, e no momento atual
eles terão os valores atuais, e não a meia-noite.
Determine quantas horas se passaram entre o início do dia e o momento atual.