Pokud máte unixové časové razítko, můžete použít DATETIME() SQLite funkce s unixepoch modifikátor pro výpočet skutečného data a času.
Alternativně můžete použít DATE() funkce, pokud potřebujete vrátit pouze datum. A je také možné použít TIME() funkce vrátit pouze časovou část.
Získejte datum a čas
Zde je příklad použití DATETIME() funkce s unixepoch modifikátor:
SELECT DATETIME(1793956207, 'unixepoch'); Výsledek:
2026-11-06 09:10:07
Získejte datum
Můžeme použít DATE() funkce, pokud potřebujeme vrátit pouze datum:
SELECT DATE(1793956207, 'unixepoch'); Výsledek:
2026-11-06
Získejte čas
Pomocí TIME() funkce vrací pouze časovou část:
SELECT TIME(1793956207, 'unixepoch'); Výsledek:
09:10:07
Kompenzace za místní časové pásmo
Můžete také přidat localtime modifikátor pro přizpůsobení výstupu vašemu místnímu časovému pásmu:
SELECT DATETIME(1793956207, 'unixepoch', 'localtime'); Výsledek:
2026-11-06 19:10:07
localtime modifikátor předpokládá, že zadaná časová hodnota je v Universal Coordinated Time (UTC) a upraví tuto časovou hodnotu tak, aby byla v localtime .
auto Modifikátor
Od SQLite 3.38.0 můžeme použít auto modifikátor namísto unixepoch modifikátor:
SELECT DATETIME(1793956207, 'auto'); Výsledek:
2026-11-06 09:10:07
Auto modifikátor způsobí, že hodnota bude interpretována buď jako juliánské číslo dne nebo jako unixové časové razítko, v závislosti na skutečné hodnotě.
Pokud je hodnota mezi 0.0 a 5373484.499999 , pak je interpretováno jako juliánské číslo dne (odpovídající datům mezi -4713-11-24 12:00:00 a 9999-12-31 23:59:59 včetně). Pro číselné hodnoty mimo rozsah platných čísel juliánského dne, ale v rozsahu -210866760000 na 253402300799 , auto modifikátor způsobí, že hodnota bude interpretována jako unixové časové razítko. Jiné číselné hodnoty jsou mimo rozsah a způsobí návrat NULL.