2013-05-07 63 views
0

我在軌道上的紅寶石項目中有一個函數。 它可以創建任務名稱和截止日期的特定任務。創建後它將顯示任務的截止日期。如何正確顯示紅寶石在軌道上的時間

當我創建任務的任務名稱,到期日期是存儲在數據庫中,如:

TASK_NAME:工作,DUE_DATE:2013年5月15日11:06:00

它們被正確地存儲在數據庫中。 但是當您顯示任務信息時,到期時間總是晚兩個小時。

它顯示了2013年5月15日13時06分00秒,而不是2013年5月15日11:06:00 和顯示相關的代碼像下面

l(assigned.due_at.localtime, :format => :mmddhhss) 

我不知道是什麼

l() 

函數用於。 如何正確設置時間。

+0

嘗試'l assigned.due_at.localtime,:format =>:mmddhhss,:locale =>'id''我使用區域設置'id'' – 2013-05-07 10:38:52

回答

2

l()方法正在爲您的特定時區本地化時間。

我在西班牙這樣:

l(Time.now) # I18n.l(Time.now) if you are testing trough the console 

應該輸出:

"martes, 07 de mayo de 2013 12:16:38 +0200" 

看那+0200在字符串的結尾,它意味着 「從UTC時間加上小時」。 UTC時間是世界時間,以前稱爲格林威治時間。

因此,您似乎使用UTC時間存儲數據,然後顯示UTC時間爲+2小時的時區時間。你爲你的應用程序定義了什麼時區?

0

你可以用戶strftime(),這樣你就可以格式化你想要的日期/時間。 您可以使用此作爲參考strftime()