web-dev-qa-db-fra.com

formatage d'horodatage sqlite

J'essaie de travailler avec des dates dans une base de données sqlite. Je stocke mes dates sous forme d'horodatages, mais lorsque j'utilise strftime () pour les formater en dates lisibles par l'homme, je récupère des résultats inattendus.

Considérez ce qui suit, je sélectionne l'horodatage actuel:

SELECT strftime("%s","now");
1281353727

Ensuite, j'essaie de formater une date en utilisant l'horodatage que je sais représenter maintenant en espérant récupérer un format lisible par l'homme de la date d'aujourd'hui:

SELECT strftime('%d - %m  - %Y ', 1281353727);
01 - 04  - 3503

Au lieu de cela, j'obtiens le résultat ci-dessus. Ce comportement est-il correct? Est-ce que je fais quelque chose de mal?

Merci d'avance,

Kevin

28
Kevin Bradshaw

Vous devez d'abord convertir l'horodatage en datetime:

SELECT strftime('%d - %m  - %Y ', datetime(1281353727, 'unixepoch')) FROM Visits;
54
reko_t

Cela a fonctionné pour moi:

datetime(visit_date/1000000,'unixepoch')
5
Sergio Abreu