2009-12-28 49 views
0

假設我有一個包含title和due_date字段的todo應用程序。我怎麼說「在X天內到期?」如果某個待辦事項在12月29日到期,則應該在2天內交付X小時。如何在導軌中使用Todo應用程序的「X天/時間到期」?

我想這是用Time.now做點事。我知道有一個

<%= distance_of_time_in_words_to_now%>是否有相反的?

感謝

+0

真的,這不是在大多數語言中那麼困難。我不知道Rails,但幾乎所有的語言都支持日期操作。 – GrayWizardx 2009-12-28 07:51:59

回答

2

如果有人有興趣,這裏是我如何解決它。

<% if post.date < Time.now -%> 
    Due <%=h distance_of_time_in_words(post.date, Time.now) %> ago 
<% else -%> 
    Due in <%= distance_of_time_in_words(post.date, Time.now) %> 
<% end -%> 

我可能會使字體不同,說過期的紅色。

如果您不在協調的宇宙時間(UTC)內,請記住更改時區。

#First find your time zone 
rake time:zones:local 

#My output 
* UTC -08:00 * 
Pacific Time (US & Canada) 
Tijuana 

#Copy 'Pacific Time (US & Canada)' and replace line 46 in config/environment.rb 
config.time_zone = 'Pacific Time (US & Canada)' 

#Be sure to restart your server and you are set to go. 
1

你可以嘗試from_now

3.days.from_now #=> Thu, 31 Dec 2009 07:51:05 UTC +00:00 

也可以用小時

2.hours.from_now #=> Mon, 28 Dec 2009 11:54:07 UTC +00:00 

the rails api page

相關問題