2010-07-12 28 views
5

Tôi đang cố gắng tải dấu thời gian vào mysql. Tất cả thời gian của tôi là đối tượng UTCTime. Việc triển khai mysql HDBC dường như không thích các đối tượng UTCTime mặc dù nội bộ tài liệu nói rằng nó xử lý tất cả các lần như thể chúng là thời gian UTC. Tôi tin rằng tôi cần phải chuyển đổi UTCTime thành EpochTime vì có vẻ như việc triển khai mysql HDBC hỗ trợ ràng buộc SqlEpochTime. Tôi đã không thể tìm ra cách lấy UTCTime của mình và lấy một EpochTime ra khỏi nó.Chuyển đổi thời gian sử dụng trong mysql

Trả lời

4

Dưới đây là một cách giải quyết cho bây giờ:

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 

tôi đã gửi Chris Waterson (mainainer HDBC-mysql của) một sửa chữa 3 tuần trước và ông nói rằng ông sẽ kết hợp nó vào phiên bản tiếp theo.

Các vấn đề liên quan