SQLite 3.38.0 został wydany 2 lutego 2022 r. Wraz z nim przyszło pewne ulepszenie funkcji daty i czasu.
Jednym z tych ulepszeń jest dodanie funkcji UNIXEPOCH()
funkcjonować. Ta funkcja zwraca uniksowy znacznik czasu. Oznacza to liczbę sekund od 1970-01-01 00:00:00 UTC.
Przykład
Oto krótki przykład do zademonstrowania:
SELECT UNIXEPOCH();
Wynik:
1646610077
Tak więc, kiedy uruchomiłem ten przykład, od 1970-01-01 00:00:00 UTC upłynęło 1646610077 sekund.
Funkcja zawsze zwraca liczbę całkowitą, nawet jeśli wejściowa wartość czasu ma dokładność do milisekund.
Jest to równoznaczne z wykonaniem następujących czynności:
SELECT STRFTIME('%s');
Wynik:
1646610181
Oczywiście było kilka sekund między uruchomieniem powyższych dwóch przykładów, więc nie są one do końca takie same. Ale widzimy, że są bardzo podobne.
Oto wynik, gdy są uruchamiane w tym samym czasie:
SELECT
UNIXEPOCH(),
STRFTIME('%s');
Wynik:
UNIXEPOCH() STRFTIME('%s') ----------- -------------- 1646610290 1646610290
Dokładnie to samo.