2016-04-13 55 views
0

在我的應用程序中,我想打印出我在創建模型之前花費的時間,直到我更新它爲止。Rails時間戳,查看自上次以來經過了多少時間

所以,如果我有值

:created_at設置爲2016年4月13日十四點00分49秒UTC 和 :的updated_at設置爲2016年4月13日15時05分49秒UTC

我想打印出花了1小時5分鐘。 (或者只是01.05)。 我該怎麼做?

回答

1

我不知道爲什麼這是downvoted,雖然一點谷歌搜索可能會讓你很快找到正確的答案。

什麼你正在尋找被稱爲time_ago_in_words

這裏是DOC http://apidock.com/rails/ActionView/Helpers/DateHelper/time_ago_in_words

和用法是:

time_ago_in_words @object.created_at 
time_ago_in_words @object.updated_at 

如果你想使用它的控制檯用它玩,請確保你的前言是helper,所以它被加載到控制檯中

eg

helper.time_ago_in_words @object.created_at 

更新

爲了檢驗日期2之間,距離現在不只是一個日期,然後就可以用distance_of_time_in_words

distance_of_time_in_words(@object.created_at, @object.updated_at) 

這給了像

12天話前

,如果你只是在尋找小時,沒有別的,那麼你可以使用基本的減法和除法

@object.updated_at.to_i - @object.created_at.to_i)/60/60 
+0

謝謝!我看到了這一點,並在Google搜索時獲得了大量倒計時結果。但我不想從現在開始。我想要在開始時間和更新時間之間的時間。我試過只是減去它們,但它似乎不起作用,因爲它也打印出日子。 – Cinta

0

你可以試試這個

diff [email protected]_at.to_time.to_i - @object.created_at.to_time.to_i 
    hour = "#{diff/3600}:#{(diff % 3600)/60}" 
相關問題