2011-03-16 75 views
0

與Ruby和軌道總新手......也許我正在爲自己做更多的工作......但無法改變本地的時區我決定分析日期和時間,並將其用於我自己的目的。除了子字符串不適合我。Rails未定義的方法`[]'爲2011-03-16 18:58:00 UTC:時間

<% ds = thejob.datestamp 
     dsyy = ds[0,4] 
     dsmm = ds[5,2] 
     dsdd = ds[8,2] 
     dshrs = ds[11,2] 
     dsmin = ds[14,2] 
     dssec = ds[17,2] 
     dstz = ds[20,2] %> 

結果錯誤:

undefined method `[]' for 2011-03-16 18:58:00 UTC:Time 
+0

你有設置的config/application.rb中的本地時區? – 2011-03-16 21:09:59

+0

好!這就是我一直在尋找的。 – Pauly 2011-03-16 21:32:30

回答

0
ds = thejob.datestamp 
dsyy = ds.year 
dsmm = ds.month 
dsdd = ds.day 
dshrs = ds.hour 
dsmin = ds.min 
dssec = ds.sec 
dstz = I don't remember 
+0

這也不錯...我可能仍然需要在最後去掉那個時區... – Pauly 2011-03-16 21:34:18

+0

'ds = thejob.datestamp.to_s' – fl00r 2011-03-16 21:38:24

+0

謝謝......我結束了使用.strftime(「%Y-% m-%d%H:%M:%S「) – Pauly 2011-03-16 22:05:35

2

確定datestamp實際上是一個字符串,而不是一個Time類型值?

來看由Ruby date/time documentation,你可能只需要:

local = thejob.datestamp.getlocal 
相關問題