English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Dates et heures SQLite

SQLite prend en charge les cinq fonctions de date et d'heure suivantes :

NuméroFonctionExemple
1date(timestring, modifier, modifier, ...)Avec YYYY-MM-Retourne la date au format DD.
2time(timestring, modifier, modifier, ...)Retourne l'heure au format HH:MM:SS.
3datetime(timestring, modifier, modifier, ...)Avec YYYY-MM-Format DD HH:MM:SS
4julianday(timestring, modifier, modifier, ...)Cela renverra le nombre de jours écoulés depuis le début du temps grégorien de Greenwich avant Jésus-Christ 4714 Année 11 Mois 24 Nombre de jours depuis midi du jour
5strftime(format, timestring, modifier, modifier, ...)Cela renverra la date formatée en fonction de la chaîne de caractères de format spécifiée au premier paramètre. Voir les détails ci-dessous.

Les cinq fonctions de date et d'heure ci-dessus prennent la chaîne de caractères de l'heure comme paramètre. La chaîne de caractères de l'heure peut être suivie de zéro ou plusieurs modificateurs. La fonction strftime() peut également prendre la chaîne de caractères de format en tant que premier paramètre. Nous allons vous expliquer en détail différents types de chaînes de caractères de l'heure et de modificateurs.

Chaîne de caractères de l'heure

Une chaîne de caractères de l'heure peut être au format suivant :

NuméroChaîne de caractères de l'heureExemple
1YYYY-MM-DD2010-12-30
2YYYY-MM-DD HH:MM2010-12-30 12:10
3YYYY-MM-DD HH:MM:SS.SSS2010-12-30 12:10:04.100
4MM-DD-YYYY HH:MM30-12-2010 12:10
5HH:MM12:10
6YYYY-MM-DDTHH:MM2010-12-30 12:10
7HH:MM:SS12:10:01
8YYYYMMDD HHMMSS20101230 121001
9now2013-05-07

Vous pouvez utiliser "T" comme caractères de séparation entre la date et l'heure.

Modificateur (Modifier)

La chaîne de caractères de l'heure peut être suivie de zéro ou plusieurs modificateurs, ce qui modifie la date et l'heure renvoyées par les cinq fonctions ci-dessus./ou l'heure. Toute la fonction des cinq grandes fonctions ci-dessus renvoie l'heure. Les modificateurs doivent être utilisés de gauche à droite, voici une liste des modificateurs disponibles dans SQLite :

  • NNN jours

  • NNN heures

  • NNN minutes

  • NNN.NNNN secondes

  • NNN mois

  • NNN années

  • start of month

  • start of year

  • start of day

  • weekday N

  • unixepoch

  • localtime

  • utc

de formatage

SQLite fournit des fonctions très pratiques strftime() Pour formater n'importe quelle date et heure. Vous pouvez utiliser les remplacements suivants pour formater la date et l'heure :

RemplacementDescription
%dJour du mois, 01-31
%fSecondes avec partie décimale, SS.SSS
%HHeure, 00-23
%jJour de l'année, 001-366
%JNombre de jours juliens, DDDD.DDDD
%mMois, 00-12
%MMinute, 00-59
%sde 1970-01-01 Secondes écoulées depuis
%SSeconde, 00-59
%wJour de la semaine, 0-6 (0 est dimanche)
%WSemaine de l'année, 01-53
%YAnnée, YYYY
%%Symbole %

Exemple

Maintenant, utilisons l'invite SQLite pour essayer divers exemples. Les commandes suivantes calculent la date actuelle.

sqlite> SELECT date('now');
2013-05-07

Les commandes suivantes calculent le dernier jour du mois en cours.

sqlite> SELECT date('now','start of month','+1 month','-1 day');
2013-05-31

Les commandes suivantes calculent la date et l'heure d'un timestamp UNIX donné1092941466de la date et de l'heure.

sqlite> SELECT datetime(1092941466, 'unixepoch');
2004-08-19 18:51:06

Les commandes suivantes calculent la date et l'heure d'un timestamp UNIX donné1092941466de la date et de l'heure, et compensez votre fuseau horaire local.

sqlite> SELECT datetime(1092941466, 'unixepoch', 'localtime');
2004-08-19 13:51:06

Les commandes suivantes calculent le timestamp UNIX actuel.

sqlite> SELECT strftime('%s','now');
1393348134

Les commandes suivantes calculent le nombre de jours écoulés depuis la signature de la Déclaration d'indépendance des États-Unis.

sqlite> SELECT julianday('now') - julianday('1776-07-04);
86798.7094695023

Les commandes suivantes calculent depuis2004secondes écoulées depuis un moment spécifique de l'année.

sqlite> SELECT strftime('%s','now') - strftime('%s','2004-01-01 02:34:56);
295001572

Les commandes suivantes calculent l'année en cours10La date du premier mardi du mois.

sqlite> SELECT date('now','start of year','+9 months','weekday 2);
2013-10-01

Les commandes suivantes calculent le temps écoulé depuis l'époque UNIX en secondes (similaires à strftime('%s', 'now'), mais incluent les parties décimales).

sqlite> SELECT (julianday('now') - 2440587.5)*86400.0;
1367926077.12598

Pour convertir les valeurs de temps UTC et locale au formatage de date, utilisez les modificateurs utc ou localtime, comme indiqué ci-dessous :

sqlite> SELECT time('12:00', 'localtime');
05:00:00
sqlite> SELECT time('12:00', 'utc');
19:00:00