Unix timestamp to liczba sekund od 1970-01-01 00:00:00 UTC. SQLite zapewnia nam kilka sposobów na uzyskanie uniksowego znacznika czasu.
STRFTIME()
Funkcja
STRFTIME()
funkcja zwraca wartość daty i godziny w określonym formacie. Możemy użyć podstawienia ciągu formatu %s, aby zwrócić liczbę sekund od 1970-01-01 00:00:00 UTC (tj. uniksowy znacznik czasu):
SELECT STRFTIME('%s');
Wynik:
1646695406
UNIXEPOCH()
Funkcja
UNIXEPOCH()
funkcja jest specjalnie zaprojektowana do zwracania uniksowego znacznika czasu. Ta funkcja została wprowadzona w SQLite 3.38.0 (wydanym 2 lutego 2022), więc będzie działać tylko wtedy, gdy używasz SQLite 3.38.0 lub nowszego:
SELECT UNIXEPOCH();
Wynik:
1646695411
Widzimy, że wyniki są podobne, ale oczywiście jest różnica ze względu na ilość czasu, jaką zajęło mi uruchomienie każdego przykładu.
Połączone
Dla pewności, oto znowu. Z wyjątkiem tego, że tym razem uruchamiam je oba w ramach tego samego SELECT
oświadczenie:
SELECT
UNIXEPOCH(),
STRFTIME('%s');
Wynik:
UNIXEPOCH() STRFTIME('%s') ----------- -------------- 1646695558 1646695558