Пачатак дня ў JavaScript
Давайце атрымаем аб'ект з датай, які змяшчае пачатак бягучага дня:
let now = new Date();
let date = new Date(now.getFullYear(), now.getMonth(), now.getDate(), 0, 0, 0);
Як вы ўжо ведаеце, параметры аб'екта Date
можна апускаць з канца. У гэтым выпадку гадзіны,
хвіліны і секунды будуць мець значэнне 0
.
Апусцім іх:
let now = new Date();
let date = new Date(now.getFullYear(), now.getMonth(), now.getDate());
А вось дзень апускаць нельга, так як калі
ён апушаны, то прыме значэнне 1
, а
нам патрэбен бягучы дзень. Апусціць месяц, не
апускаючы год таксама нельга па правілах работы
з Date.
Апусціць адначасова год, месяц і дзень таксама
нельга - у гэтым выпадку возьмецца бягучы
момант часу. Чаму гэта дрэнна, бо нам
і патрэбен бягучы год, бягучы месяц і бягучы
дзень? Справа ў тым, што нам патрэбна поўнач,
гэта значыць гадзіны, хвіліны і секунды павінны мець
значэнне 0
, а ў бягучым моманце часу
яны будуць мець бягучыя значэнні, а не поўнач.
Вызначыце, колькі гадзін прайшло паміж пачаткам дня і бягучым моментам часу.