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"