Jak získat aktuální datum a čas v JavaScriptu

Tento článek vám ukáže, jak získat aktuální datum, čas nebo obojí v programovacím jazyce JavaScript. Zahrnuty příklady kódu.

Objekty data v JavaScriptu

Objekty data představují v JavaScriptu jeden časový bod. Jsou vytvořeny inicializací nové proměnné s novým objektem Date:

var now = new Date();

Ve výchozím nastavení jsou nové objekty Date inicializovány tak, aby obsahovaly datum a čas v okamžiku, kdy byly vytvořeny, spolu s podrobnostmi o časovém pásmu pro aktuální zařízení – představují tedy aktuální datum a čas:

console.log(new Date());

Výše uvedené vytiskne strunovanou verzi objektu Date a zobrazí informace obsažené v:

Date Wed May 04 2022 22:44:06 GMT+0100 (British Summer Time)

Objekt Date lze také použít k manipulaci a porovnávání dat.

Získat aktuální čas jako řetězec

Jakmile byl vytvořen objekt Date, lze z něj extrahovat podrobnosti pro aktuální datum/čas:

var now = new Date();
var currentTime = now.toTimeString();

To vrátí aktuální čas jako řetězec:

"22:47:30 GMT+0100 (British Summer Time)"

Získat aktuální datum jako řetězec

Podobně lze datum načíst také samostatně:

var now = new Date();
var currentDate = now.toLocaleDateString();

Která přiřadí hodnotu data:

"04/05/2022"

Všimněte si, že formát data je závislý na národním prostředí – Datum bude naformátováno podle národního prostředí nastaveného ve vašem počítači.

Epocha Unix

Čas se v programování často měří jako počet milisekund od 1. ledna 1970, 00:00:00 UTC – známého jako Unix Epoch Time nebo Unix Time.

getTime() metoda vrátí tuto hodnotu – celočíselný počet sekund od 1. ledna 1970:

var now = new Date();
var unixTime = now.getTime();

Čas UTC

Pokud vytváříte aplikace pro web, měli byste vzít v úvahu, že všichni vaši uživatelé budou v různých časových pásmech. Nejlepší je pracovat s časem UTC, kdykoli je to možné, a při zobrazování času převádět na místní čas uživatelů, aby bylo při ukládání hodnot vše konzistentní.

Objekt Date v JavaScriptu obsahuje hodnoty UTC pro dané datum a také aktuální časové pásmo. Řetězcová reprezentace data/času UTC lze vygenerovat pomocí následujícího:

var now = new Date();
var utc = now.getUTCDate();

Která přiřadí hodnotu:

"Wed, 04 May 2022 21:55:00 GMT"