Om du behöver beräkna antalet sekunder som har gått sedan ett givet datum och tid kan du använda UNIXEPOCH()
fungera.
Observera att den här funktionen introducerades i SQLite 3.38.0, så den fungerar bara om du använder SQLite 3.38.0 eller senare.
Exempel
Här är ett exempel att visa:
SELECT UNIXEPOCH() - UNIXEPOCH('2020-02-23 07:30:45');
Resultat:
64254554
I det här exemplet returnerade jag antalet sekunder sedan 2020-02-23 07:30:45.
Uppenbarligen kommer antalet sekunder att vara annorlunda om vi kör det igen senare:
SELECT UNIXEPOCH() - UNIXEPOCH('2020-02-23 07:30:45');
Resultat:
64254823
Antal sekunder sedan månadens början
Här är ett exempel som returnerar antalet sekunder som har gått sedan början av den aktuella månaden:
SELECT UNIXEPOCH() - UNIXEPOCH(DATETIME('now', 'start of month'));
Resultat:
605380
Här använder vi DATETIME()
fungerar tillsammans med now
argument för att returnera aktuellt datum och tid. Och vi använder även start of month
modifierare för att ange början av månaden.
Följande exempel utökar det föregående. Den visar de faktiska datumen, såväl som sekunderna mellan dem:
SELECT
DATETIME('now', 'start of month') AS "Start of Month",
DATETIME('now') AS "Now",
UNIXEPOCH() - UNIXEPOCH(DATETIME('now', 'start of month')) AS "Seconds";
Resultat:
Start of Month Now Seconds ------------------- ------------------- ------- 2022-03-01 00:00:00 2022-03-08 00:12:04 605524
Du kan också använda start of day
och start of year
för att returnera sekunderna sedan början av dagen eller året.