JavaScript datoobjekter lader os arbejde med datoer:
Et eksempel på at få det aktuelle år i Javascript:
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Dates</h1>
<h2>The getFullYear() Method</h2>
<p>Return the full year of a date object:</p>
<p id="demo"></p>
<script>
const d = new Date();
document.getElementById("demo").innerHTML = d.getFullYear();
</script>
</body>
</html>
Et eksempel på at få den aktuelle måned i Javascript:
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Dates</h1>
<h2>The getMonth() Method</h2>
<p>Return the month of a date as a number from 0 to 11.</p>
<p>To get the correct month number, you must add 1:</p>
<p id="demo"></p>
<script>
const d = new Date();
document.getElementById("demo").innerHTML = d.getMonth() + 1;
</script>
</body>
</html>
Et eksempel på at få den aktuelle dag i Javascript:
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Dates</h1>
<h2>The getDate() Method</h2>
<p>Return the day of a date as a number (1-31):</p>
<p id="demo"></p>
<script>
const d = new Date();
document.getElementById("demo").innerHTML = d.getDate();
</script>
</body>
</html>
Et eksempel på at få den aktuelle time i Javascript:
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Dates</h1>
<h2>The getHours() Method</h2>
<p>Return the hours of a date as a number (0-23):</p>
<p id="demo"></p>
<script>
const d = new Date();
document.getElementById("demo").innerHTML = d.getHours();
</script>
</body>
</html>
Et eksempel på at få det aktuelle minut i Javascript:
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Dates</h1>
<h2>The getMinutes() Method</h2>
<p>Returns the minutes of a date as a number (0-59):</p>
<p id="demo"></p>
<script>
const d = new Date();
document.getElementById("demo").innerHTML = d.getMinutes();
</script>
</body>
</html>
Et eksempel på at få den nuværende anden i Javascript:
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Dates</h1>
<h2>The getSeconds() Method</h2>
<p>Return the seconds of a date as a number (0-59):</p>
<p id="demo"></p>
<script>
const d = new Date();
document.getElementById("demo").innerHTML = d.getSeconds();
</script>
</body>
</html>
const d = new Date();
Prøv det selv →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Dates</h1>
<h2>Using new Date()</h2>
<p>new Date() without arguments, creates a date object with the current date and time:</p>
<p id="demo"></p>
<script>
const d = new Date();
document.getElementById("demo").innerHTML = d;
</script>
</body>
</html>
const d = new Date("2022-03-25");
Prøv det selv →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Dates</h1>
<h2>Using new Date()</h2>
<p id="demo"></p>
<script>
const d = new Date("2022-03-25");
document.getElementById("demo").innerHTML = d;
</script>
</body>
</html>
Datoobjekter er statiske. "Uret" "kører" ikke.
Computeruret tikker, det gør datoobjekter ikke.
Som standard vil JavaScript bruge browserens tidszone og vise en dato som en fuldtekststreng:
Du vil lære meget mere om, hvordan du viser datoer, senere i denne øvelse.
Datoobjekter oprettes med ny Date()
konstruktør.
Der er 9 måder til at oprette et nyt datoobjekt:
new Date()
new Date(date string)
new Date(year,month)
new Date(year,month,day)
new Date(year,month,day,hours)
new Date(year,month,day,hours,minutes)
new Date(year,month,day,hours,minutes,seconds)
new Date(year,month,day,hours,minutes,seconds,ms)
new Date(milliseconds)
new Date()
new Date()
opretter et datoobjekt med den aktuelle dato og tid:
const d = new Date();
Prøv det selv →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Dates</h1>
<h2>Using new Date()</h2>
<p>Create a new date object with the current date and time:</p>
<p id="demo"></p>
<script>
const d = new Date();
document.getElementById("demo").innerHTML = d;
</script>
</body>
</html>
ny dato(datostreng)
ny dato(datostreng)
opretter et datoobjekt ud fra en datostreng:
const d = new Date("October 13, 2014 11:13:00");
Prøv det selv →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Dates</h1>
<h2>Using new Date()</h2>
<p>A date object can be created with a specified date and time:</p>
<p id="demo"></p>
<script>
const d = new Date("October 13, 2014 11:13:00");
document.getElementById("demo").innerHTML = d;
</script>
</body>
</html>
const d = new Date("2022-03-25");
Prøv det selv →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Dates</h1>
<h2>Using new Date()</h2>
<p id="demo"></p>
<script>
const d = new Date("2022-03-25");
document.getElementById("demo").innerHTML = d;
</script>
</body>
</html>
Datostrengformater er beskrevet i næste kapitel.
ny dato(år, måned, ...)
ny dato(år, måned, ...)
opretter et datoobjekt med en specificeret dato og et klokkeslæt.
7 tal angiver år, måned, dag, time, minut, sekund og millisekund (i nævnte rækkefølge):
const d = new Date(2018, 11, 24, 10, 33, 30, 0);
Prøv det selv →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript new Date()</h2>
<p>Using new Date(7 numbers), creates a new date object with the specified date and time:</p>
<p id="demo"></p>
<script>
const d = new Date(2018, 11, 24, 10, 33, 30, 0);
document.getElementById("demo").innerHTML = d;
</script>
</body>
</html>
JavaScript tæller måneder fra 0 til 11:
Januar=0.
december=11..
Angivelse af en måned højere end 11, vil ikke resultere i en fejl, men tilføje overløbet til det næste år:
Angiver:
const d = new Date(2018, 15, 24, 10, 33, 30);
Prøv det selv →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript new Date()</h1>
<p>JavaScript counts months from 0 to 11.</p>
<p>Specifying a month higher than 11, will not result in an error but add the overflow to the next year:</p>
<p id="demo"></p>
<script>
const d = new Date(2018, 15, 24, 10, 33, 30, 0);
document.getElementById("demo").innerHTML = d;
</script>
</body>
</html>
Er det samme som:
const d = new Date(2019, 3, 24, 10, 33, 30);
Prøv det selv →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript new Date()</h1>
<p>JavaScript counts months from 0 to 11.</p>
<p id="demo"></p>
<script>
const d = new Date(2019, 3, 24, 10, 33, 30, 0);
document.getElementById("demo").innerHTML = d;
</script>
</body>
</html>
Angivelse af en dag højere end maks. vil ikke resultere i en fejl, men tilføjer overløbet til den næste måned:
Angiver:
const d = new Date(2018, 5, 35, 10, 33, 30);
Er det samme som:
const d = new Date(2018, 6, 5, 10, 33, 30);
Prøv det selv →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript new Date()</h2>
<p>JavaScript counts months from 0 to 11.</p>
<p>Specifying a day higher than max, will not result in an error but add the overflow to the next month:</p>
<p id="demo"></p>
<script>
const d = new Date(2018, 05, 35, 10, 33, 30, 0);
document.getElementById("demo").innerHTML = d;
</script>
</body>
</html>
6 tal angiver år, måned, dag, time, minut, sekund:
const d = new Date(2018, 11, 24, 10, 33, 30);
Prøv det selv →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript new Date()</h2>
<p>6 numbers specify year, month, day, hour, minute and second:</p>
<p id="demo"></p>
<script>
const d = new Date(2018, 11, 24, 10, 33, 30);
document.getElementById("demo").innerHTML = d;
</script>
</body>
</html>
5 tal angiver år, måned, dag, time og minut:
const d = new Date(2018, 11, 24, 10, 33);
Prøv det selv →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript new Date()</h2>
<p>5 numbers specify year, month, day, hour, and minute:</p>
<p id="demo"></p>
<script>
const d = new Date(2018, 11, 24, 10, 33);
document.getElementById("demo").innerHTML = d;
</script>
</body>
</html>
4 tal angiver år, måned, dag og time:
const d = new Date(2018, 11, 24, 10);
Prøv det selv →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript new Date()</h2>
<p>4 numbers specify year, month, day, and hour:</p>
<p id="demo"></p>
<script>
const d = new Date(2018, 11, 24, 10);
document.getElementById("demo").innerHTML = d;
</script>
</body>
</html>
3 tal angiver år, måned og dag:
const d = new Date(2018, 11, 24);
Prøv det selv →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript new Date()</h2>
<p>3 numbers specify year, month, and day:</p>
<p id="demo"></p>
<script>
const d = new Date(2018, 11, 24);
document.getElementById("demo").innerHTML = d;
</script>
</body>
</html>
2 tal angiver år og måned:
const d = new Date(2018, 11);
Prøv det selv →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript new Date()</h2>
<p>2 numbers specify year and month:</p>
<p id="demo"></p>
<script>
const d = new Date(2018, 11);
document.getElementById("demo").innerHTML = d;
</script>
</body>
</html>
Du kan ikke udelade måned. Hvis du kun angiver én parameter, vil den blive behandlet som millisekunder.
const d = new Date(2018);
Prøv det selv →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript new Date()</h2>
<p>One parameter will be interpreted as new Date(milliseconds).</p>
<p id="demo"></p>
<script>
const d = new Date(2018);
document.getElementById("demo").innerHTML = d;
</script>
</body>
</html>
Et- og tocifrede år tolkes som 19xx:
const d = new Date(99, 11, 24);
Prøv det selv →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript new Date()</h2>
<p>Two digit years will be interpreted as 19xx:</p>
<p id="demo"></p>
<script>
const d = new Date(99, 11, 24);
document.getElementById("demo").innerHTML = d;
</script>
</body>
</html>
const d = new Date(9, 11, 24);
Prøv det selv →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript new Date()</h2>
<p>One digit years will be interpreted as 19xx:</p>
<p id="demo"></p>
<script>
const d = new Date(9, 11, 24);
document.getElementById("demo").innerHTML = d;
</script>
</body>
</html>
JavaScript gemmer datoer som antal millisekunder siden 1. januar 1970.
Nul tid er 1. januar 1970 00:00:00 UTC.
En dag (24 timer) er 86 400 000 millisekunder.
Nu er tiden:
millisekunder efter 1. januar 1970
ny dato(millisekunder)
new Date(milliseconds)
opretter et nyt datoobjekt som milliseconds plus nultid:
1. januar 1970 plus 100 000 000 000 millisekunder er:
const d = new Date(100000000000);
Prøv det selv →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Dates</h1>
<h2>Using new Date()</h2>
<p>100000000000 milliseconds from January 01 1970 UTC is:</p>
<p id="demo"></p>
<script>
const d = new Date(100000000000);
document.getElementById("demo").innerHTML = d;
</script>
</body>
</html>
1. januar 1970 minus 100 000 000 000 millisekunder er:
const d = new Date(-100000000000);
Prøv det selv →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Dates</h1>
<h2>Using new Date()</h2>
<p>-100000000000 milliseconds from January 01 1970 UTC is:</p>
<p id="demo"></p>
<script>
const d = new Date(-100000000000);
document.getElementById("demo").innerHTML = d;
</script>
</body>
</html>
1. januar 1970 plus 24 timer er:
const d = new Date(24 * 60 * 60 * 1000);
// or
const d = new Date(86400000);
Prøv det selv →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Dates</h1>
<h2>Using new Date()</h2>
<p>86400000 milliseconds from January 01 1970 UTC is:</p>
<p id="demo"></p>
<script>
const d = new Date(86400000);
document.getElementById("demo").innerHTML = d;
</script>
<p>One day (24 hours) is 86,400,000 milliseconds.</p>
</body>
</html>
1. januar 1970 plus 0 millisekunder er:
const d = new Date(0);
Prøv det selv →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Dates</h1>
<h2>Using new Date()</h2>
<p>0 milliseconds from January 01 1970 UTC is:</p>
<p id="demo"></p>
<script>
const d = new Date(0);
document.getElementById("demo").innerHTML = d;
</script>
</body>
</html>
Når et datoobjekt oprettes, giver en række metoder dig mulighed for at arbejde videre det.
Datometoder giver dig mulighed for at få og indstille år, måned, dag, time, minut, sekund og millisekund af datoobjekter ved hjælp af enten lokal tid eller UTC (universel eller GMT) tid.
Datometoder og tidszoner behandles i de næste kapitler.
JavaScript vil (som standard) udlæse datoer ved hjælp af toString()-metoden. Dette er en strengrepræsentation af datoen, inklusive tidszonen. Formatet er angivet i ECMAScript-specifikationen:
Prøv det selv →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Dates</h1>
<h2>Using new Date()</h2>
<p>new Date() without arguments, creates a date object with the current date and time:</p>
<p id="demo"></p>
<script>
const d = new Date();
document.getElementById("demo").innerHTML = d;
</script>
</body>
</html>
Når du viser et datoobjekt i HTML, konverteres det automatisk til en streng, med toString()
metoden.
const d = new Date();
d.toString();
Prøv det selv →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Dates</h1>
<h2>The toString() Method</h2>
<p>Convert a date to a string:</p>
<p id="demo"></p>
<script>
const d = new Date();
document.getElementById("demo").innerHTML = d.toString();
</script>
</body>
</html>
Metoden toDateString()
konverterer en dato til en mere læsbar format:
const d = new Date();
d.toDateString();
Prøv det selv →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Dates</h1>
<h2>The toDateString() Method</h2>
<p>Convert a date to a date string:</p>
<p id="demo"></p>
<script>
const d = new Date();
document.getElementById("demo").innerHTML = d.toDateString();
</script>
</body>
</html>
Metoden toUTCString()
konverterer en dato til en streng ved hjælp af UTC-standarden:
const d = new Date();
d.toUTCString();
Prøv det selv →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Dates</h1>
<h2>The toUTCString() Method</h2>
<p>Convert a date to a string using the UTC standard:</p>
<p id="demo"></p>
<script>
const d = new Date();
document.getElementById("demo").innerHTML = d.toUTCString();
</script>
</body>
</html>
Metoden toISOString()
konverterer en dato til en streng ved hjælp af ISO-standarden:
const d = new Date();
d.toISOString();
Prøv det selv →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Dates</h1>
<h2>The toISOString() Method</h2>
<p>Convert a date to a string using the ISO standard:</p>
<p id="demo"></p>
<script>
const d = new Date();
document.getElementById("demo").innerHTML = d.toISOString();
</script>
</body>
</html>
For en komplet Datoreference, gå til vores:
Komplet JavaScript-datoreference.
Referencen indeholder beskrivelser og eksempler på alle Dato-egenskaber og metoder.