假設我有一個包含title和due_date字段的todo應用程序。我怎麼說「在X天內到期?」如果某個待辦事項在12月29日到期,則應該在2天內交付X小時。如何在導軌中使用Todo應用程序的「X天/時間到期」?
我想這是用Time.now做點事。我知道有一個
<%= distance_of_time_in_words_to_now%>
是否有相反的?
感謝
假設我有一個包含title和due_date字段的todo應用程序。我怎麼說「在X天內到期?」如果某個待辦事項在12月29日到期,則應該在2天內交付X小時。如何在導軌中使用Todo應用程序的「X天/時間到期」?
我想這是用Time.now做點事。我知道有一個
<%= distance_of_time_in_words_to_now%>
是否有相反的?
感謝
如果有人有興趣,這裏是我如何解決它。
<% 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.
你可以嘗試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
這裏是distance_of_time_in_words
工作的實施:http://github.com/rails/rails/blob/v2.3.5/actionpack/lib/action_view/helpers/date_helper.rb#L62
不應該太難實現自己的反轉版本。
真的,這不是在大多數語言中那麼困難。我不知道Rails,但幾乎所有的語言都支持日期操作。 – GrayWizardx 2009-12-28 07:51:59