Formáty data JavaScript


Obsah

    Zobrazit obsah


Zadání data JavaScript

Obecně existují 3 typy formátů vstupu data JavaScriptu:

ISO Date

"2015-03-25" (mezinárodní standard)

Short Date

"03/25/2015"

Long Date

"25. března 2015" nebo "25. března 2015"

Formát ISO se řídí přísným standardem v JavaScriptu.

Ostatní formáty nejsou tak dobře definované a může být specifické pro prohlížeč.


Výstup data JavaScript

Nezávisle na vstupním formátu bude JavaScript (ve výchozím nastavení) vypisovat data v plném rozsahu formát textového řetězce:


JavaScript ISO data

ISO 8601 je mezinárodní standard pro reprezentaci dat a dat časy.

Syntaxe ISO 8601 (RRRR-MM-DD) je také preferovaným formátem data JavaScriptu:

Příklad (úplné datum)

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

Zkuste to sami →

<!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>

Vypočítané datum bude vztaženo k vašemu časovému pásmu.
V závislosti na vašem časovém pásmu výsledek výše se bude lišit od 24. března do 25. března.



ISO data (rok a měsíc)

Data ISO lze zapsat bez uvedení dne (RRRR-MM):

Příklad

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

Zkuste to sami →

<!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>

Časová pásma se budou lišit podle výše uvedeného výsledku mezi 28. únorem a 1. březnem.


Data ISO (pouze rok)

Data ISO lze zapsat bez měsíce a dne (YYYY):

Příklad

const d = new Date("2015");

Zkuste to sami →

<!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>

Časová pásma se budou lišit podle výše uvedeného výsledku mezi 31. prosincem 2014 a 1. lednem 2015.


ISO data (datum a čas)

ISO data lze zapsat s přidanými hodinami, minutami a sekundami (RRRR-MM-DDTHH:MM:SSZ):

Příklad

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

Zkuste to sami →

<!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 a čas jsou odděleny velkým T.

Čas UTC je definován velkým písmenem Z.

Pokud chcete změnit čas vzhledem k UTC, odstraňte Z a přidejte +HH:MM nebo -HH:MM namísto:

Příklad

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

Zkuste to sami →

<!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) je stejný jako GMT (Greenwich Mean Time).

Vynechání T nebo Z v řetězci data a času může v různých prohlížečích přinést různé výsledky.


Časová pásma

Při nastavování data bez určení časového pásma použije JavaScript časové pásmo prohlížeče.

Při získávání data bez určení časového pásma je výsledkem převedeny na časové pásmo prohlížeče.

Jinými slovy: Pokud je datum/čas vytvořen v GMT (Greenwich Mean Time), datum/čas bude převeden na CDT (Central US Daylight Time), pokud uživatel projde ze středních USA.


JavaScript krátká data.

Krátká data se zapisují pomocí syntaxe "MM/DD/RRRR" takto:

Příklad

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

Zkuste to sami →

<!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>

VAROVÁNÍ !

V některých prohlížečích mohou měsíce nebo dny bez úvodních nul způsobit chybu:

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

Chování "RRRR/MM/DD" není definováno.
Některé prohlížeče budou zkuste uhodnout formát. Někteří vrátí NaN.

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

Chování „DD-MM-RRRR“ také není definováno.
Některé prohlížeče zkuste uhodnout formát. Někteří vrátí NaN.

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

Dlouhá data JavaScriptu.

Dlouhá data se nejčastěji zapisují pomocí syntaxe "MMM DD YYYY" takto:

Příklad

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

Zkuste to sami →

<!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ěsíc a den mohou být v libovolném pořadí:

Příklad

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

Zkuste to sami →

<!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>

Měsíc lze napsat celý (leden) nebo zkráceně (leden):

Příklad

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

Zkuste to sami →

<!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>

Příklad

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

Zkuste to sami →

<!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>

Čárky jsou ignorovány. V názvech se nerozlišují malá a velká písmena:

Příklad

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

Zkuste to sami →

<!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>

Vstup data - analýza dat

Pokud máte platný řetězec data, můžete použít Date.parse() k převodu na milisekundy.

Date.parse() vrací počet milisekund mezi datem a lednem 1, 1970:

Příklad

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

Zkuste to sami →

<!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>

Poté můžete použít počet milisekund k převedení na objekt data:

Příklad

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

Zkuste to sami →

<!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>

Kompletní odkaz na datum JavaScriptu

Úplný odkaz na datum naleznete na naší stránce:

Kompletní odkaz na datum JavaScriptu.

Odkaz obsahuje popisy a příklady všech vlastností Date a metody.