Begin van de dag in JavaScript
Laten we een datumobject verkrijgen dat het begin van de huidige dag bevat:
let now = new Date();
let date = new Date(now.getFullYear(), now.getMonth(), now.getDate(), 0, 0, 0);
Zoals je al weet, kunnen parameters van het Date object
vanaf het einde worden weggelaten. In dat geval zullen de uren,
minuten en seconden de waarde 0 hebben.
Laten we ze weglaten:
let now = new Date();
let date = new Date(now.getFullYear(), now.getMonth(), now.getDate());
Maar de dag kan niet worden weggelaten, omdat als
deze wordt weggelaten, deze de waarde 1 aanneemt, en
wij hebben de huidige dag nodig. Het is ook niet mogelijk
om de maand weg te laten zonder het jaar weg te laten, volgens de regels voor het werken
met Date.
Het is ook niet mogelijk om tegelijkertijd het jaar, de maand en de dag weg te
laten - in dat geval wordt het huidige
tijdstip genomen. Waarom is dit slecht, want wij hebben
toch het huidige jaar, de huidige maand en de huidige
dag nodig? Het punt is dat wij middernacht nodig hebben,
dat wil zeggen dat de uren, minuten en seconden de
waarde 0 moeten hebben, maar op het huidige tijdstip
zullen ze de huidige waarden hebben, en niet middernacht.
Bepaal hoeveel uren er zijn verstreken tussen het begin van de dag en het huidige tijdstip.