2013-10-14 32 views
0

我试图显示从周数 “x周前” 计算的周数前一个星期前,两个星期前,三个星期前,1个月前,2个月前,1年前..等显示基于周数的周数?

进出口使用方法帮助:

def weeks_ago_in_words(from_time, include_seconds = false) 
    to_time = Time.now 
    weeks_ago = ((to_time - from_time)/1.week).abs 
    [nil, "last week", "two weeks ago", "three weeks ago"][weeks_ago] || 
     distance_of_time_in_words(from_time, to_time, include_seconds) 
    end 

鉴于:

= weeks_ago_in_words(Time.local(2013) + week.to_i) 

week = a week number like 1,10,28,52 etc 

这不会给我正确的resuls,有没有更好的方法来计算“×周前“基于weeknumer?

回答

0

如果你是比较从这里同一年的两个日期使用cweek代码:

require 'date' 

Time.now.to_date.cweek - Date.new(2013,1,1).cweek 

如果你比较两个不同的年份你要添加一些有条件的逻辑,以确定您的一年乘法器cweek将于2012年12月31日和2013年1月1日返回相同的值。

+0

尝试此操作但这不起作用我只想根据星期数 – Rubytastic