Di seguito è riportato un elenco di formati di stringhe temporali validi che puoi utilizzare in qualsiasi funzione di data e ora in SQLite.
Stringa temporale | Esempio |
---|---|
AAAA-MM-GG | 30-12-2020 |
AAAA-MM-GG HH:MM | 30-12-2020 10:45 |
AAAA-MM-GG HH:MM:SS | 30-12-2020 10:45:07 |
AAAA-MM-GG HH:MM:SS.SSS | 30-12-2020 10:45:07.123 |
AAAA-MM-GG T HH:MM | 2020-12-30T10:45 |
AAAA-MM-GG T HH:MM:SS | 2020-12-30T10:45:07 |
AAAA-MM-GG T HH:MM:SS.SSS | 2020-12-30T10:45:07.123 |
HH:MM | 10:45 |
HH:MM:SS | 10:45:07 |
HH:MM:SS.SSS | 10:45:07.123 |
ora | 30-12-2020 10:45:07 |
DDDDDDDDDDDD | 2459213.94799769 |
Il now
la stringa dell'ora restituisce la data e l'ora correnti utilizzando l'ora UTC (Universal Coordinated Time).
Il DDDDDDDDDD
time string è il numero del giorno giuliano espresso come valore in virgola mobile.
Come funzionano le stringhe temporali?
Quando si utilizza una delle funzioni di data e ora di SQLite, è necessario fornire una stringa di tempo. Questa stringa temporale rappresenta la data/ora in cui stai tentando di formattare o eseguire l'operazione.
La stringa di tempo che fornisci deve rispettare uno dei formati validi nella tabella sopra.
Codice di esempio
Ecco un esempio di base per dimostrare alcune delle stringhe temporali nella tabella sopra.
.mode line
SELECT
datetime('2020-12-30'),
datetime('now'),
datetime('2459213.94799769');
Risultato:
datetime('2020-12-30') = 2020-12-30 00:00:00 datetime('now') = 2020-04-24 22:58:31 datetime('2459213.94799769') = 2020-12-30 10:45:07
Indicatore di fuso orario
Tutte le stringhe temporali che includono l'ora (come HH:MM, HH:MM:SS e così via) possono includere anche un indicatore di fuso orario. Ciò significa tutte le stringhe temporali dalla riga 2 alla riga 10 nella tabella sopra.
L'indicatore del fuso orario può assumere la forma [+-]HH:MM
o semplicemente Z
.
La Z
il suffisso non cambia nulla, poiché le funzioni di data e ora di SQLite utilizzano già internamente l'ora UTC/zulu comunque.
Qualsiasi HH:MM
diverso da zero il suffisso viene sottratto dalla data e dall'ora indicate per calcolare l'ora zulu.
Esempio di indicatori di fuso orario
Ecco alcuni esempi da dimostrare.
SELECT
datetime('10:45Z'),
datetime('10:45+01:00'),
datetime('10:45-01:00');
Risultato:
datetime('10:45Z') = 2000-01-01 10:45:00 datetime('10:45+01:00') = 2000-01-01 09:45:00 datetime('10:45-01:00') = 2000-01-01 11:45:00