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

这并没有给我正确的结果,有没有更好的方法来根据 weeknumer 计算“x 周前”?

4

1 回答 1

0

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

require 'date'

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

如果您要比较两个不同的年份,则必须添加一些条件逻辑来确定您的年份乘数,因为 cweek 在 2012 年 12 月 31 日和 2013 年 1 月 1 日返回相同的值。

于 2013-10-15T01:16:58.507 回答