Я пытаюсь загрузить timestamps в mysql. Все мои времена - объекты UTCTime. Реализация HDBC mysql, похоже, не похожа на объекты UTCTime, хотя внутренне документация говорит, что она обрабатывает все времена, как если бы они были временем UTC. Я считаю, что мне нужно преобразовать UTCTime в EpochTime, так как похоже, что реализация mysql HDBC поддерживает привязку SqlEpochTime. Я не смог понять, как взять UTCTime и получить от EpochTime.Преобразование времени для использования в mysql
5
A
ответ
4
Вот обходной путь сейчас:
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
Я послал Криса Уотерсон (mainainer HDBC-в MySQL) починка 3 недели назад, и он сказал, что он будет включать его в следующую версию.