Objekty data JavaScript


Obsah

    Zobrazit obsah


JavaScript Objekty data nám umožňují pracovat s daty:

Rok:

Příklad získání aktuálního roku v Javascriptu:

<!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ěsíc:

Příklad získání aktuálního měsíce v Javascriptu:

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

Den:

Příklad získání aktuálního dne v Javascriptu:

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

Otevírací doba:

Příklad získání aktuální hodiny v Javascriptu:

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

Minut:

Příklad získání aktuální minuty v Javascriptu:

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

Sekundy:

Příklad získání aktuální sekundy v Javascriptu:

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

Příklady

const d = new Date();

Zkuste to sami →

<!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");

Zkuste to sami →

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

Poznámka

Objekty data jsou statické. „Hodiny“ neběží.

Počítačové hodiny tikají, objekty data ne.


Výstup data JavaScript

Ve výchozím nastavení JavaScript použije časové pásmo prohlížeče a zobrazí datum jako úplný textový řetězec:

Mnohem více o tom, jak zobrazit data, se dozvíte později v tomto tutoriálu.


Vytváření datových objektů

Objekty Date jsou vytvořeny pomocí konstruktor new Date().

Existuje 9 způsobů, jak vytvořit nový objekt data:

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() vytvoří objekt data s aktuálním datem a časem:

Příklad

const d = new Date();

Zkuste to sami →

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

nové datum(řetězec data)

new Date(řetězec data) vytvoří objekt data z řetězce data:

Příklady

const d = new Date("October 13, 2014 11:13:00");

Zkuste to sami →

<!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");

Zkuste to sami →

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

Formáty datových řetězců jsou popsány v další kapitole.


nové datum(rok, měsíc, ...)

new Date(rok, měsíc, ...) vytvoří objekt data se zadaným datem a časem.

7 čísel určuje rok, měsíc, den, hodinu, minutu, sekundu a milisekundu (v tomto pořadí):

Příklad

const d = new Date(2018, 11, 24, 10, 33, 30, 0);

Zkuste to sami →

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

Poznámka

JavaScript počítá měsíce od 0 do 11:

Leden=0.

Prosinec=11.

Zadání měsíce vyššího než 11 nebude mít za následek chybu, ale přidá přetečení do dalšího roku:

Specifikace:

const d = new Date(2018, 15, 24, 10, 33, 30);

Zkuste to sami →

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

Je stejné jako:

const d = new Date(2019, 3, 24, 10, 33, 30);

Zkuste to sami →

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

Pokud zadáte den vyšší než max., nebude to mít za následek chybu, ale přidá přetečení do dalšího měsíce:

Specifikace:

const d = new Date(2018, 5, 35, 10, 33, 30);

Je stejné jako:

const d = new Date(2018, 6, 5, 10, 33, 30);

Zkuste to sami →

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

Použití 6, 4, 3 nebo 2 čísel

6 čísel určuje rok, měsíc, den, hodinu, minutu, sekundu:

Příklad

const d = new Date(2018, 11, 24, 10, 33, 30);

Zkuste to sami →

<!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 čísel určuje rok, měsíc, den, hodinu a minutu:

Příklad

const d = new Date(2018, 11, 24, 10, 33);

Zkuste to sami →

<!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 čísla určují rok, měsíc, den a hodinu:

Příklad

const d = new Date(2018, 11, 24, 10);

Zkuste to sami →

<!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 čísla určují rok, měsíc a den:

Příklad

const d = new Date(2018, 11, 24);

Zkuste to sami →

<!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 čísla určují rok a měsíc:

Příklad

const d = new Date(2018, 11);

Zkuste to sami →

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

Měsíc nelze vynechat. Pokud zadáte pouze jeden parametr, bude považován za milisekundy.

Příklad

const d = new Date(2018);

Zkuste to sami →

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

Předchozí století

Jedno a dvoumístné roky budou interpretovány jako 19xx:

Příklad

const d = new Date(99, 11, 24);

Zkuste to sami →

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

Příklad

const d = new Date(9, 11, 24);

Zkuste to sami →

<!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 ukládá data v milisekundách

JavaScript ukládá data jako počet milisekund od 1. ledna 1970.

Nulový čas je 1. ledna 1970 00:00:00 UTC.

Jeden den (24 hodin) je 86 400 000 milisekund.

Nyní je čas:

milisekund po 1. lednu 1970


nové datum(milisekundy)

new Date(milisekundy) vytvoří nový objekt data jako milisekundy plus nula času:

Příklady

1. ledna 1970 plus 100 000 000 000 milisekund je:

const d = new Date(100000000000);

Zkuste to sami →

<!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. ledna 1970 minus 100 000 000 000 milisekund je:

const d = new Date(-100000000000);

Zkuste to sami →

<!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. ledna 1970 plus 24 hodin je:

const d = new Date(24 * 60 * 60 * 1000);
// or
const d = new Date(86400000);

Zkuste to sami →

<!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. ledna 1970 plus 0 milisekund je:

const d = new Date(0);

Zkuste to sami →

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


Metody data

Když je vytvořen objekt data, můžete s ním pracovat pomocí řady metod to.

Metody data umožňují získat a nastavit rok, měsíc, den, hodinu, minuta, sekunda a milisekunda datových objektů pomocí místního času nebo UTC (univerzální nebo GMT) čas.

Metody data a časová pásma jsou popsány v dalších kapitolách.


Zobrazení dat

JavaScript bude (ve výchozím nastavení) vypisovat data pomocí metody toString(). Toto je řetězcová reprezentace data včetně časového pásma. Formát je specifikován ve specifikaci ECMAScript:

Příklad

Zkuste to sami →

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

Když zobrazíte objekt data v HTML, automaticky se převede na a řetězec pomocí metody toString().

Příklad

const d = new Date();
d.toString();

Zkuste to sami →

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

Metoda toDateString() převádí datum na čitelnější formát:

Příklad

const d = new Date();
d.toDateString();

Zkuste to sami →

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

Metoda toUTCString() převádí datum na řetězec pomocí standardu UTC:

Příklad

const d = new Date();
d.toUTCString();

Zkuste to sami →

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

Metoda toISOString() převádí datum na řetězec pomocí standardu ISO:

Příklad

const d = new Date();
d.toISOString();

Zkuste to sami →

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

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.