2010-07-12 12 views
5

Estoy intentando cargar marcas de tiempo en mysql. Todos mis tiempos son objetos UTCTime. La implementación de HDBC mysql no parece gustarle a los objetos UTCTime aunque internamente la documentación dice que trata todas las veces como si fueran tiempos UTC. Creo que necesito convertir UTCTime a EpochTime ya que parece que la implementación de HDBC mysql admite el enlace de SqlEpochTime. No he podido descifrar cómo tomar mi UTCTime y obtener un EpochTime.Convertir tiempo para usar en mysql

Respuesta

4

Aquí hay una solución por ahora:

import Data.Time.Clock (UTCTime) 
import Data.Time.Clock.POSIX (utcTimeToPOSIXSeconds) 
import Database.HDBC (SqlValue (SqlEpochTime)) 

-- until HDBC-mysql fixes it. use instead of SqlUTCTime (data constructor) 
sqlUTCTime :: UTCTime -> SqlValue 
sqlUTCTime = SqlEpochTime . floor . utcTimeToPOSIXSeconds 

envié Chris Waterson (mainainer de HDBC-MySQL) una solución hace 3 semanas y dijo que él va a incorporar en la próxima versión.

Cuestiones relacionadas