SQLite
 sql >> Base de données >  >> RDS >> SQLite

Obtenir la date/heure d'un horodatage Unix dans SQLite

Si vous avez un horodatage Unix, vous pouvez utiliser le DATETIME() de SQLite fonction avec unixepoch modificateur pour calculer la date et l'heure réelles.

Vous pouvez également utiliser le DATE() si vous n'avez besoin que de la date à renvoyer. Et il est également possible d'utiliser le TIME() fonction pour renvoyer uniquement la partie heure.

Obtenir la date et l'heure

Voici un exemple d'utilisation de DATETIME() fonction avec unixepoch modificateur :

SELECT DATETIME(1793956207, 'unixepoch');

Résultat :

2026-11-06 09:10:07

Obtenir la date

Nous pouvons utiliser le DATE() fonction si nous n'avons besoin que de la date à renvoyer :

SELECT DATE(1793956207, 'unixepoch');

Résultat :

2026-11-06

Obtenir l'heure

Utilisation de TIME() la fonction renvoie uniquement la partie heure :

SELECT TIME(1793956207, 'unixepoch');

Résultat :

09:10:07

Compensez votre fuseau horaire local

Vous pouvez également ajouter le localtime modificateur pour ajuster la sortie à votre fuseau horaire local :

SELECT DATETIME(1793956207, 'unixepoch', 'localtime');

Résultat :

2026-11-06 19:10:07

L'localtime le modificateur suppose que la valeur de temps spécifiée est en temps universel coordonné (UTC) et ajuste cette valeur de temps pour qu'elle soit en localtime .

Le auto Modificateur

Depuis SQLite 3.38.0, nous pouvons utiliser le auto modificateur à la place du unixepoch modificateur :

SELECT DATETIME(1793956207, 'auto');

Résultat :

2026-11-06 09:10:07

Le modificateur automatique fait que la valeur est interprétée comme un numéro de jour julien ou un horodatage Unix, selon la valeur réelle.

Si la valeur est comprise entre 0.0 et 5373484.499999 , alors il est interprété comme un numéro de jour julien (correspondant aux dates comprises entre -4713-11-24 12:00:00 et 9999-12-31 23:59:59 , inclus). Pour les valeurs numériques en dehors de la plage des nombres de jours juliens valides, mais dans la plage de -210866760000 à 253402300799 , le auto modifie la valeur à interpréter comme un horodatage Unix. Les autres valeurs numériques sont hors plage et provoquent un retour NULL.