tilbage til lektionen

Hvor mange sekunder har gået i dag?

vigtighed: 5

Skriv en funktion getSecondsToday() der returnerer antallet af sekunder fra starten af dagen i dag.

For eksempel, hvis nu var 10:00 am, og der var ikke en skudskift, så:

getSecondsToday() == 36000 // (3600 * 10)

Funktionen skal fungere for enhver dag. Det betyder, at den ikke kan have en fast indsat værdi af dagen i dag.

For at få antallet af sekunder, kan vi generere en datoen med den nuværende dag og tid 00:00:00, så kan vi subtrahere det fra “nu”.

Differensen er antallet af millisekunder fra starten af dagen, der skal divideres med 1000 for at få sekunder:

function getSecondsToday() {
  let now = new Date();

  // opret et objekt med den nuværende dag/måned/år
  let today = new Date(now.getFullYear(), now.getMonth(), now.getDate());

  let diff = now - today; // forskel i millisekunder
  return Math.round(diff / 1000); // omdan til sekunder
}

alert( getSecondsToday() );

En anden løsning ville være at få timer/minutes/seconds og konvertere dem til sekunder:

function getSecondsToday() {
  let d = new Date();
  return d.getHours() * 3600 + d.getMinutes() * 60 + d.getSeconds();
}

alert( getSecondsToday() );