Pages

viernes, julio 27, 2012

FIREBIRD: Convertir un Unix timestamp, equivalente a MYSQL FROM_UNIXTIME()

En teoría los Unix timestamp, son los segundos transcurridos desde la medianoche del primero de enero de 1970, en MySQL hay dos funciones para manejar estos timestamps FROM_UNIXTIME() y UNIX_TIMESTAMP(). Ahora, dentro del mismo MySQL la conversión entre ambas funciones no es exacta, debido (segun entendí) a las diferencias locales según la zona horaria desde donde se trabaje... O sea, no pidan demasiada precisión muchachos que esto no es una ciencia exacta!!!.
Como sea el bueno de Firebird (la base de datos con la que habitualmente trabajo) no tienen contemplado esto asi que para obtener una fecha legible a partir de un Unix timestamp yo hice esto:

select dateadd(second, 1255033470, cast('01/01/1970 00:00:00.0000' as timestamp)) 
from rdb$database;

Por ahora sirve a mis propositos, si logro entender como hacer jugar los problemas de ubicación lo mejoro. Si alguien tiene alguna mejor idea soy todo ojos!.

No hay comentarios.:

Publicar un comentario