JavaScript-datoobjekter


Indholdsfortegnelse

    Vis indholdsfortegnelse


JavaScript datoobjekter lader os arbejde med datoer:

År:

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>

Måned:

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>

Dag:

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>

Timer:

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>

Referat:

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>

sekunder:

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>

Eksempler

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>

Bemærk

Datoobjekter er statiske. "Uret" "kører" ikke.

Computeruret tikker, det gør datoobjekter ikke.


JavaScript-datooutput

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.


Oprettelse af datoobjekter

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)

JavaScript new Date()

new Date() opretter et datoobjekt med den aktuelle dato og tid:

Eksempel

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:

Eksempler

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):

Eksempel

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>

Bemærk

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>

Brug af 6, 4, 3 eller 2 tal

6 tal angiver år, måned, dag, time, minut, sekund:

Eksempel

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:

Eksempel

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:

Eksempel

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:

Eksempel

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:

Eksempel

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.

Eksempel

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>

Forrige århundrede

Et- og tocifrede år tolkes som 19xx:

Eksempel

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>

Eksempel

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 millisekunder

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:

Eksempler

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>


Dato metoder

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.


Viser datoer

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:

Eksempel

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.

Eksempel

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:

Eksempel

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:

Eksempel

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:

Eksempel

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>

Komplet JavaScript-datoreference

For en komplet Datoreference, gå til vores:

Komplet JavaScript-datoreference.

Referencen indeholder beskrivelser og eksempler på alle Dato-egenskaber og metoder.