JavaScript-datumformat


Innehållsförteckning

    Visa innehållsförteckning


JavaScript-datuminmatning

Det finns i allmänhet tre typer av JavaScript-datuminmatningsformat:

ISO Date

"2015-03-25" (den internationella standarden)

Short Date

"03/25/2015"

Long Date

"25 mars 2015" eller "25 mars 2015"

ISO-formatet följer en strikt standard i JavaScript.

De andra formaten är det inte så väldefinierad och kan vara webbläsarspecifik.


JavaScript-datumutdata

Oberoende av inmatningsformat kommer JavaScript (som standard) att mata ut datum i sin helhet textsträngsformat:


JavaScript ISO-datum

ISO 8601 är den internationella standarden för representation av datum och gånger.

ISO 8601-syntaxen (ÅÅÅÅ-MM-DD) är också det föredragna JavaScript-datumformatet:

Exempel (fullständigt datum)

const d = new Date("2015-03-25");

Prova själv →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript ISO Dates</h2>

<p id="demo"></p>

<script>
const d = new Date("2015-03-25");
document.getElementById("demo").innerHTML = d;
</script>

</body>
</html>

Det beräknade datumet kommer att vara relativt din tidszon.
Beroende på din tidszon, resultatet ovan kommer att variera mellan 24 mars och 25 mars.



ISO-datum (år och månad)

ISO-datum kan skrivas utan att ange dagen (ÅÅÅÅ-MM):

Exempel

const d = new Date("2015-03");

Prova själv →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript ISO Dates</h2>

<p id="demo"></p>

<script>
const d = new Date("2015-03"); 
document.getElementById("demo").innerHTML = d;
</script>

</body>
</html>

Tidszoner kommer att variera resultatet ovan mellan 28 februari och 1 mars.


ISO-datum (endast år)

ISO-datum kan skrivas utan månad och dag (ÅÅÅÅ):

Exempel

const d = new Date("2015");

Prova själv →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript ISO Dates</h2>

<p id="demo"></p>

<script>
const d = new Date("2015");
document.getElementById("demo").innerHTML = d;
</script>

</body>
</html>

Tidszoner kommer att variera resultatet ovan mellan 31 december 2014 och 1 januari 2015.


ISO-datum (datum-tid)

ISO-datum kan skrivas med tillagda timmar, minuter och sekunder (ÅÅÅÅ-MM-DDTHH:MM:SSZ):

Exempel

const d = new Date("2015-03-25T12:00:00Z");

Prova själv →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript ISO Dates</h2>
<p>Separate date and time with a capital T.</p>
<p>Indicate UTC time with a capital Z.</p>

<p id="demo"></p>

<script>
const d = new Date("2015-03-25T12:00:00Z");
document.getElementById("demo").innerHTML = d;
</script>

</body>
</html>

Datum och tid separeras med stort T.

UTC-tid definieras med stor bokstav Z.

Om du vill ändra tiden i förhållande till UTC, ta bort Z och lägg till +HH:MM eller -HH:MM istället:

Exempel

const d = new Date("2015-03-25T12:00:00-06:30");

Prova själv →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript ISO Dates</h2>
<p>Modify the time relative to UTC by adding +HH:MM or subtraction -HH:MM to the time.</p>

<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML =
new Date("2015-03-25T12:00:00-06:00");
</script>

</body>
</html>

UTC (Universal Time Coordinated) är samma som GMT (Greenwich Mean Time).

Att utelämna T eller Z i en datum-tid-sträng kan ge olika resultat i olika webbläsare.


Tidszoner

När du ställer in ett datum, utan att ange tidszon, kommer JavaScript att använda webbläsarens tidszon.

När man får ett datum, utan att ange tidszon, blir resultatet konverteras till webbläsarens tidszon.

Med andra ord: Om ett datum/tid skapas i GMT (Greenwich Mean Time), datum/tid kommer att konverteras till CDT (Central US Daylight Time) om en användare surfar från centrala USA.


JavaScript korta datum.

Korta datum skrivs med syntaxen "MM/DD/ÅÅÅÅ" så här:

Exempel

const d = new Date("03/25/2015");

Prova själv →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript new Date()</h2>

<p id="demo"></p>

<script>
const d = new Date("03/25/2015");
document.getElementById("demo").innerHTML = d;
</script>

</body>
</html>

VARNINGAR!

I vissa webbläsare kan månader eller dagar utan inledande nollor ge ett fel:

const d = new Date("2015-3-25");

Beteendet för "ÅÅÅÅ/MM/DD" är odefinierat.
Vissa webbläsare gör det försök gissa formatet. Vissa kommer att returnera NaN.

const d = new Date("2015/03/25");

Beteendet för "DD-MM-ÅÅÅÅ" är också odefinierat.
Vissa webbläsare gör det försök gissa formatet. Vissa kommer att returnera NaN.

const d = new Date("25-03-2015");

JavaScript långa datum.

Långa datum skrivs oftast med en "MMM DD ÅÅÅÅ"-syntax så här:

Exempel

const d = new Date("Mar 25 2015");

Prova själv →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript new Date()</h2>

<p id="demo"></p>

<script>
const d = new Date("Mar 25 2015");
document.getElementById("demo").innerHTML = d;
</script>

</body>
</html>

Månad och dag kan vara i valfri ordning:

Exempel

const d = new Date("25 Mar 2015");

Prova själv →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript new Date()</h2>

<p id="demo"></p>

<script>
const d = new Date("25 Mar 2015");
document.getElementById("demo").innerHTML = d;
</script>

</body>
</html>

Och månad kan skrivas i sin helhet (januari) eller förkortas (jan):

Exempel

const d = new Date("January 25 2015");

Prova själv →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript new Date()</h2>

<p id="demo"></p>

<script>
const d = new Date("January 25 2015");
document.getElementById("demo").innerHTML = d;
</script>

</body>
</html>

Exempel

const d = new Date("Jan 25 2015");

Prova själv →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript new Date()</h2>

<p id="demo"></p>

<script>
const d = new Date("Jan 25 2015");
document.getElementById("demo").innerHTML = d;
</script>

</body>
</html>

Komma ignoreras. Namn är skiftlägesokänsliga:

Exempel

const d = new Date("JANUARY, 25, 2015");

Prova själv →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript new Date()</h2>

<p id="demo"></p>

<script>
const d = new Date("JANUARY, 25, 2015");
document.getElementById("demo").innerHTML = d;
</script>

</body>
</html>

Datuminmatning - Parsning av datum

Om du har en giltig datumsträng kan du använda Date.parse()-metoden för att konvertera den till millisekunder.

Date.parse() returnerar antalet millisekunder mellan datumet och januari 1, 1970:

Exempel

let msec = Date.parse("March 21, 2012");

Prova själv →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Date.parse()</h2>
<p>Date.parse() returns the number of milliseconds between the date and January 1, 1970:</p>

<p id="demo"></p>

<script>
const msec = Date.parse("March 21, 2012");
document.getElementById("demo").innerHTML = msec;
</script>

</body>
</html>

Du kan sedan använda antalet millisekunder för att konvertera det till ett datumobjekt:

Exempel

let msec = Date.parse("March 21, 2012");
const d = new Date(msec);

Prova själv →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Date.parse()</h2>
<p>Date.parse(string) returns milliseconds.</p>
<p>You can use the return value to convert the string to a date object:</p>

<p id="demo"></p>

<script>
let msec = Date.parse("March 21, 2012");
const d = new Date(msec);
document.getElementById("demo").innerHTML = d;
</script>

</body>
</html>

Komplettera JavaScript-datumreferens

För en fullständig datumreferens, gå till vår:

Komplettera JavaScript-datumreferens.

Referensen innehåller beskrivningar och exempel på alla Date-egenskaper och metoder.