Unix timestamp е броят на секундите от 1970-01-01 00:00:00 UTC. SQLite ни предоставя няколко начина да получим времевата марка на unix.
STRFTIME()
Функция
STRFTIME()
функцията връща стойност за дата и час в посочения формат. Можем да използваме заместването на низ във формат %s, за да върнем броя на секундите от 1970-01-01 00:00:00 UTC (т.е. времевия печат на unix):
SELECT STRFTIME('%s');
Резултат:
1646695406
UNIXEPOCH()
Функция
UNIXEPOCH()
функцията е специално проектирана да върне времевия печат на unix. Тази функция е въведена в SQLite 3.38.0 (издадена на 2 февруари 2022 г.), така че ще работи само ако използвате SQLite 3.38.0 или по-нова версия:
SELECT UNIXEPOCH();
Резултат:
1646695411
Виждаме, че резултатите са сходни, но очевидно има разлика поради времето, което ми отне да стартирам всеки пример.
Комбиниран
Само за да сме сигурни, ето ги отново. Само дето този път ги изпълнявам и двете в рамките на един и същ SELECT
изявление:
SELECT
UNIXEPOCH(),
STRFTIME('%s');
Резултат:
UNIXEPOCH() STRFTIME('%s') ----------- -------------- 1646695558 1646695558