5
我想加載時間戳到mysql中。我所有的時間都是UTCTime對象。 HDBC的mysql實現似乎不喜歡UTCTime對象,雖然內部文檔說它將所有時間視爲UTC時間。我相信我需要將UTCTime轉換爲EpochTime,因爲它看起來像HDBC mysql實現支持綁定SqlEpochTime。我一直無法弄清楚如何使用我的UTCTime並獲取EpochTime。轉換在mysql中使用的時間
我想加載時間戳到mysql中。我所有的時間都是UTCTime對象。 HDBC的mysql實現似乎不喜歡UTCTime對象,雖然內部文檔說它將所有時間視爲UTC時間。我相信我需要將UTCTime轉換爲EpochTime,因爲它看起來像HDBC mysql實現支持綁定SqlEpochTime。我一直無法弄清楚如何使用我的UTCTime並獲取EpochTime。轉換在mysql中使用的時間
這裏有一個解決方法現在:
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的mainainer)修復3個星期前,他說,他將其納入下一個版本。