Скільки секунд до завтра?
важливість: 5
Створіть функцію getSecondsToTomorrow()
, що повертає кількість секунд до завтра.
Наприклад, якщо зараз є 23:00
, то:
getSecondsToTomorrow
(
)
==
3600
P.S. Функція повинна працювати в будь-який день, “сьогодні” не є жорстко закодованим.
Щоб отримати кількість мілісекунд до завтра, ми можемо від “завтра 00:00:00” відняти поточну дату.
По-перше, ми створюємо це “завтра”, а потім віднімемо:
function
getSecondsToTomorrow
(
)
{
let
now =
new
Date
(
)
;
// завтрашня дата
let
tomorrow =
new
Date
(
now.
getFullYear
(
)
,
now.
getMonth
(
)
,
now.
getDate
(
)
+
1
)
;
let
diff =
tomorrow -
now;
// різниця в мс
return
Math.
round
(
diff /
1000
)
;
// перетворити до секунд
}
Alternative solution:
function
getSecondsToTomorrow
(
)
{
let
now =
new
Date
(
)
;
let
hour =
now.
getHours
(
)
;
let
minutes =
now.
getMinutes
(
)
;
let
seconds =
now.
getSeconds
(
)
;
let
totalSecondsToday =
(
hour *
60
+
minutes)
*
60
+
seconds;
let
totalSecondsInADay =
86400
;
return
totalSecondsInADay -
totalSecondsToday;
}
Будь ласка, зверніть увагу, що у багатьох країнах є літній час, тому можуть бути дні з 23 або 25 годин. Ми можемо обробляти такі дні окремо.