How many seconds till tomorrow?
importance: 5
Create a function getSecondsToTomorrow()
that returns the number of seconds till tomorrow.
For instance, if now is 23:00
, then:
getSecondsToTomorrow
(
)
==
3600
P.S. The function should work at any day, the “today” is not hardcoded.
To get the number of milliseconds till tomorrow, we can from “tomorrow 00:00:00” substract the current date.
First, we generate that “tomorrow”, and then do it:
function
getSecondsToTomorrow
(
)
{
let
now =
new
Date
(
)
;
// tomorrow date
let
tomorrow =
new
Date
(
now.
getFullYear
(
)
,
now.
getMonth
(
)
,
now.
getDate
(
)
+
1
)
;
let
diff =
tomorrow -
now;
// difference in ms
return
Math.
round
(
diff /
1000
)
;
// convert to seconds
}
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;
}
Please note that many countries have Daylight Savings Time (DST), so there may be days with 23 or 25 hours. We may want to treat such days separately.