タイムスタンプをmysqlにロードしようとしています。私の時間はすべてUTCTimeオブジェクトです。HDBC mysqlの実装は、UTCTimeオブジェクトを好まないようですが、内部的には、ドキュメントには、常にUTC時間であるかのように扱われると記載されています。HDBC mysql実装がSqlEpochTimeのバインドをサポートしているように見えるので、UTCTimeをEpochTimeに変換する必要があると思います。UTCTimeを取得してEpochTimeを取得する方法を理解できませんでした。
質問する
237 次
1 に答える
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
私は3週間前にChrisWaterson(HDBC-mysqlのmainainer)に修正を送信しましたが、彼はそれを次のバージョンに組み込むと述べました。
于 2010-07-12T17:39:38.547 に答える