SQLite - Dato og Time

SQLite støtter fem dato og klokkeslett funksjoner som følger:
SNFunctionExample1date (timestring, modifikatorer ...) Dette returnerer datoen i dette formatet: ÅÅÅÅ-MM-DD2time (timestring, modifiserings .. .) Dette returnerer tiden som HH: MM: SS3datetime (timestring, modifikatorer ...) Dette returnerer ÅÅÅÅ-MM-DD TT: MM: SS4julianday (timestring, modifikatorer ...) Dette returnerer antall dager siden middag i Greenwich 24. november 4714 BC5strftime (timestring, modifikatorer ...) Dette returnerer datoen formatert i henhold til formatstrengen angitt som det første argumentet er formatert som per formatters forklart nedenfor.

Alle de ovennevnte fem dato og klokkeslett funksjoner ta en tid strengen som et argument. Tiden strengen etterfølges av null eller flere modifiseringsmidler. Den strftime () -funksjonen tar også et format streng som sin første argument. Følgende avsnitt vil gi deg detaljer på ulike typer tids strenger og modifikatorer

Tid Strings.

En gang streng kan være i en av følgende formater:
SNTime StringExample1YYYY-MM -DD2010-12-302YYYY-MM-DD TT: MM2010-12-30 12: 103YYYY-MM-DD TT: MM: SS.SSS2010-12-30 12: 10: 04.1004MM-DD-ÅÅÅÅ TT: MM30-12 -2010 12: 105HH: MM12: 106YYYY-MM-DD T
HH: MM2010-12-30 12: 107HH: MM: SS12: 10: 018YYYYMMDD HHMMSS20101230 1210019now2013-05-07

Du kan bruke "T" som en bokstavelig karakter skiller dato og klokkeslett.

Modifikatorer

Nå strengen kan bli etterfulgt av null eller flere modifikatorer som vil endre dato og /eller tid returnert av noen av de ovennevnte fem funksjoner. Modifikatorer brukes fra venstre til høyre og følgende modifers er tilgjengelige i SQLite:

NNN dager

NNN timer

< p> NNN minutter

NNN.NNNN sekunder

NNN måneder

NNN år


starten av måneden

start på året

start på dagen
< li>

ukedag N


unixepoch


localtime


utc



Formatters:

SQLite gir svært hendig funksjon strftime ()
å formatere dato og klokkeslett. Du kan bruke følgende erstatninger å formatere dato og tid:
SubstitutionDescription% Dday av måneden, 01-31% fFractional sekunder, SS.SSS% HHour, 00-23% jDay av året, 001-366% JJulian dag nummer, DDDD.DDDD% mMonth, 00-12% MMinute, 00-59% sSeconds siden 1970-01-01% SSeconds, 00-59% Wday av uken, 0-6 (0 er søndag)% wweek av året, 01-53 % YYear, ÅÅÅÅ %%% symbol
Eksempler

La oss prøve ulike eksempler nå bruker SQLite teksten. Etter beregner gjeldende dato:

sqlite > VELG dato ('nå'); 2013-05-07

Etter beregner den siste dagen i den aktuelle måneden:
sqlite > VELG dato ('nå', 'starten av måneden', '+ 1 måned', '- en dag'); 2013-05-31

Etter beregner dato og tid for en gitt UNIX timestamp 1092941466:
sqlite > VELG datetime (1092941466, 'unixepoch'); 2004-08-19 18:51:06

Etter beregner dato og tid for en gitt UNIX timestamp 1092941466 og kompensere for din lokale tidssone:
sqlite > VELG datetime (1092941466, 'unixepoch', 'local'); 2004-08-19 13:51:06

Etter beregner dagens UNIX timestamp:
sqlite > VELG strftime ('% s', 'nå'); 1393348134

Etter beregner antall dager siden signeringen av den amerikanske uavhengighetserklæringen:
sqlite > VELG julianday ("nå") - julianday ('1776-07-04'); 86798,7094695023

Etter beregner antall sekunder siden et bestemt tidspunkt i 2004:
sqlite > VELG strftime ('% s', 'nå') - strftime ('% s', '2004-01-01 02:34:56'); 295001572

Etter beregner datoen for den første tirsdagen i oktober for værende år:
sqlite > VELG dato ('nå', 'start på året', '+ 9 måneder "," ukedag 2'); 2013-10-01

Etter beregner gang siden UNIX epoke i sekunder (som strftime ('% s ',' nå ') bortsett inkluderer brøkdelen):
sqlite > SELECT (julianday ("nå") - 2.440.587,5) * 86400,0; 1367926077,12598

For å konvertere mellom UTC og lokal tid verdier når du formaterer en dato, bruker UTC eller local modifikatorer som følger:
sqlite > VELG tid ('12: 00 ',' local '); 05: 00: 00sqlite > VELG tid ('12: 00 ',' utc '); 19:00:00



Previous: