Конвертировать время для использования в MySQL - PullRequest
5 голосов
/ 12 июля 2010

Я пытаюсь загрузить метки времени в mysql. Все мои времена являются объектами UTCTime. Реализация HDBC mysql, похоже, не похожа на объекты UTCTime, хотя внутренне документация говорит, что она обрабатывает все времена, как если бы они были временем UTC. Я считаю, что мне нужно конвертировать UTCTime в EpochTime, так как похоже, что реализация HDBC mysql поддерживает связывание SqlEpochTime. Я не смог понять, как взять свой UTCTime и извлечь из него EpochTime.

1 Ответ

4 голосов
/ 12 июля 2010

Вот обходной путь:

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

Я отправил Крису Уотерсону (основной администратор HDBC-mysql) 3 недели назад, и он сказал, что включит его в следующую версию.

...