我最近在我的數據庫中添加了一個名爲created_at_user_time
(最初沒有值)的列,該列應該包含時區轉換的created_at時間戳。我製作了一個快速腳本,用於創建轉換並將其保存在新列中。然而,當我完成後,我注意到原來的時間戳剛剛被複制到新的時間戳中。我決定在rails console中進行調查,並得到以下結果。無法在導軌中更改自定義時間戳字段
1.9.3p194 :002 > user.time_zone
=> "Central Time (US & Canada)"
1.9.3p194 :003 > test = user.orders.first
1.9.3p194 :004 > test.created_at
=> Wed, 02 Jan 2013 02:02:54 UTC +00:00
1.9.3p194 :006 > newstamp = test.created_at.in_time_zone("#{user.time_zone}")
=> Tue, 01 Jan 2013 20:02:54 CST -06:00
1.9.3p194 :008 > test.created_at_user_time = newstamp
=> Tue, 01 Jan 2013 20:02:54 CST -06:00
#ok, now lets save and check it
1.9.3p194 :009 > test.save
(0.4ms) begin transaction
(0.1ms) commit transaction
=> true
1.9.3p194 :010 > test = user.orders.first
1.9.3p194 :011 > test.created_at_user_time
=> Wed, 02 Jan 2013 02:02:54 UTC +00:00
有沒有人有任何想法,如何正確地做到這一點?
你我應該怎麼去做這件事? – SomberClock
您想要做什麼? – MiGro
將轉換後的時間戳保存到數據庫中 – SomberClock