2012-12-07 20 views
0

我正在從rails中的ruby中的數據庫檢索數據。我必須更新控制器中使用新的格式化日期檢索到的日期。
事情是這樣的一個: -更新軌道中的對象數組的值

@events = 'My Query.' 
    @events.each do |eventdata| 
     # Since the date is in utc i have to convert it in users time zone. 
     eventdata.start_date = eventdata.start_date.strftime("%Y-%m-%d %H:%M:%S") 
    end 

但它不工作。需要一些幫助。

+3

這不起作用。我懂了。 – oldergod

回答

2

這部分內容是一隻猴子補丁格式化所有的DateTime是否日期時被轉換成JSON:

class ActiveSupport::TimeWithZone 
    def as_json(options = {}) 
     strftime('%Y-%m-%d %H:%M:%S') 
    end 
end 

把那

/config/initializers/json_date_path.rb 

,這一切。

+0

非常感謝......終於得到解決......從昨天開始工作:) –

+0

我很高興幫助:) – rorra

2

你不能改變的字段的格式,它的一個DateTime,你將不得不使用該

def formated_start_date 
    start_date.strftime("%Y-%m-%d %H:%M:%S") 
end 

的方法。然而,您可以更改日期時間的格式爲所有的數據庫記錄,由創建文件的配置/初始化/ date_time_formats.rb並添加像

Time::DATE_FORMATS[:default] = "%Y-%M-%d %H:%M:%S" 
+0

如何更新此值? eventdata.start_date = eventdata.formated_start_date?...實際上,我將該事件對象轉換爲日曆中使用的json,因此我必須在控制器中對其進行格式化。 –

+0

我需要更多關於你想要做什麼的話。你想要做的是格式化對象轉換爲json之前的日期?或者你正試圖改變你將DateTime格式化到數據庫之前的方式? – rorra

+0

我想格式化日期之前的對象轉換爲json –