Mat*_*att 6 datetime ruby-on-rails ruby-on-rails-3
是否有人知道一个gem,方法或代码片段,它会将日期时间值转换为更加人性化,而无需创建一系列规则或在视图中放置一堆逻辑?例如:如果今天是2012年3月19日,请转换:
基本上,我正在寻找与慢性宝石相反的东西.更类似的东西distance_of_time_in_words
,但有一个扭曲.我不想从数据库中获取日期并按原样显示它们,而是在向最终用户显示时,使它们更加人性化且相关性更强.
这是一个小小的黑客,完全未完成和不优雅.但Ruby/Rails在日期方面非常棒,范围非常完美,如果你没有找到宝石,这样的东西会让你开始:
module HumanDate
def date_difference_for_people (from, to)
seconds_in_day = 24 * 60 * 60
days_difference = ((to - from)/seconds_in_day).round
case days_difference
when -1
"yesterday"
when 0
"today"
when 1
"tomorrow"
when 2..days_left_in_week
"this #{day_name(difference)}"
when (days_left_in_week + 1)..(days_left_in_week + 7)
"next week"
when (days_left_in_week + 8)..days_left_in_month
"later this month"
else
"later -- how much left to you :-)"
end
end
def day_name(days_from_now)
days_from_now.days_from_now.strftime("%A")
end
def days_left_in_month
Time.now.end_of_month.day - Time.now.day
end
def days_left_in_week
Time.now.end_of_week.day - Time.now.day
end
end
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
761 次 |
最近记录: |