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.