我使用由dbcidump
生成的DBIx :: Class架構進行插入和查詢。時區DateTime問題,DBIx :: Class和SQLite(休息時間5小時)
最近,我發現我所有的時間都比我們當地的時間(est)提前了+5小時。
在我Result
類,我有__PACKAGE__->load_components("InflateColumn::DateTime")
,其中列被定義爲"action_time", { data_type => "datetime", is_nullable => 0}
...
有沒有一種簡單的方法來使它這樣我可以控制的時區DateTime
對象進行充氣/有這麼癟我的查詢和插入是否一致?
我曾嘗試將time_zone => 'local'
添加到列定義中,但這沒有什麼區別。
例如:
- 插入 2012年12月12日10時04分03秒
- 檢索 2012年12月12日15時04分03秒
樣本數據:
sqlite> select datetime(action_time,'localtime'),action_time from actions order by id desc limit 3;
2012-12-12 08:35:07|2012-12-12 13:35:07
2012-12-12 08:34:45|2012-12-12 13:34:45
2012-12-12 08:34:43|2012-12-12 13:34:43
編輯:我相信這與我的使用有關: http://search.cpan.org/dist/DBIx-Class/lib/DBIx/Class/ResultClass/HashRefInflator.pm;從文檔:
列值通貨膨脹,例如,使用像DBIx :: Class :: InflateColumn :: DateTime模塊不會執行。返回的哈希包含原始數據庫值。
因此,我想知道如何讓該類爲日期時間字段做一些特殊的事情。
此答案有幫助嗎? http://stackoverflow.com/a/2457601/21987 – Joel
我在看那個,但它並沒有真正的他正在談論的例子。 – Blaskovicz