web-dev-qa-db-fra.com

Comment convertir l'heure Unix Epoch dans SQLite

Pourriez-vous m'aider à convertir l'heure UNIX Epoch au format yyyy-mm-dd hh:mm:ss (24h) dans SQLite? (GMT + 7 serait apprécié).

Exemple: de 1319017136629 à Wednesday, October 19, 2011 4:38:56 PM GMT+7.

p/s: Je viens de regarder autour et j'ai trouvé une solution:

SELECT datetime(1319017136629, 'unixepoch', 'localtime');

Mais je cherche toujours un moyen de convertir par lots l'heure UNIX Epoch dans SQLite.

30
Phong Tran

Pour modifier les valeurs dans la base de données, utilisez la commande UPDATE:

UPDATE MyTable SET MyColumn = datetime(MyColumn, 'unixepoch', 'localtime')
19
CL.

1319017136629 Est une valeur dans milliseconds, qui n'est pas UNIX Epoch time; par conséquent, il doit être divisé par 1000 et arrondi à un entier seconds; seulement alorsDATE() et DATETIME() se convertira.

SELECT DATETIME(ROUND(dateColumn / 1000), 'unixepoch') AS isodate
FROM tableName

la conversion des valeurs de la base de données en localtime est regrettable; la conversion en sortie est moins problématique.

6
Martin Zeitler