formatage de sqlite timestamp

j'essaie de travailler avec les dates dans une base de données sqlite. Je stocke mes dates comme horodateurs, mais quand j'utilise strftime() pour les formater en dates lisibles par l'humain, je récupère des résultats non attendus.

Considérer le suivant, je sélectionne le timestamp actuel:

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

puis j'essaie de formater une date en utilisant le timestamp que je sais représenter maintenant s'attendant à récupérer un format lisible par l'homme de date d'aujourd'hui:

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

au lieu de cela j'obtiens le ci-dessus résultat. Est-ce correct de comportement? suis-je en train de faire quelque chose de mal?

Merci d'avance,

Kevin

24
demandé sur Kevin Bradshaw 2010-08-09 15:43:08

2 réponses

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

SELECT strftime('%d - %m  - %Y ', datetime(1281353727, 'unixepoch')) FROM Visits;
50
répondu reko_t 2010-08-09 11:46:16

Cela a fonctionné pour moi:

datetime(visit_date/1000000,'unixepoch')
4
répondu Sergio Abreu 2016-09-11 23:04:25