2010-08-09 29 views
21

Estoy tratando de trabajar con las fechas en una base de datos sqlite. Estoy almacenando mis fechas como marcas de tiempo, pero cuando uso strftime() para formatearlas en fechas legibles por humanos estoy obteniendo resultados no previstos.sqlite formato de marca de tiempo

considere lo siguiente, selecciono la fecha y hora actual:

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

entonces trato de dar formato a una fecha con la fecha y hora que sé para representar ahora esperando para volver a un formato legible por humanos de la fecha de hoy:

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

En su lugar obtengo el resultado anterior. ¿Es este comportamiento correcto? ¿Estoy haciendo algo mal?

Gracias de antemano,

Kevin

Respuesta

43

es necesario convertir la marca de tiempo de fecha y hora en primer lugar:

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

¿Hay una manera de ¿Imprime el mes en texto? ej .: agosto – Andrew

+0

Hola reko, si almaceno esta fecha desde Java dateObj.getTime() entonces ¿funcionará con la opción de unixepoch en la función de fecha y hora? –

+3

En mi caso, necesito cumplir 1000. –

4

Esto funcionó para mí:

datetime(visit_date/1000000,'unixepoch') 
Cuestiones relacionadas