【问题标题】:Ruby On Rails, week number is not the correct one (-1)Ruby On Rails,周数不正确 (-1)
【发布时间】:2013-12-19 10:13:26
【问题描述】:

我需要当前的周数,如果我没完全弄错的话,现在是第 51 周?但是,在控制台中对其进行测试时,我得到了这个。

Time.now
=> 2013-12-19 11:08:25 +0100
Time.now.strftime('%U')
=> "50"

Date.today
=> Thu, 19 Dec 2013
Date.today.strftime("%U").to_i
=> 50

这是为什么呢?

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-4 week-number


    【解决方案1】:

    Time.now.strftime('%V') 将根据 ISO 8601 为您提供周数。

    【讨论】:

      【解决方案2】:
      why is that?
      

      根据%U%W,第一周前一年的天数在第0周(00..53)。

      %V (正如@Graeme McLean 所写),第一周前一年的日子是在最后一周 上一年 (01..53)。

      来自here

      【讨论】:

        【解决方案3】:

        嗯,我不确定为什么会这样,但是为了使用 Ruby 获得正确的,我使用这个:

        require 'Date'
        
        week_number = Date.today.cweek #=> 51
        

        【讨论】:

        • 如果有人来到这里寻找我正在寻找的东西(Ruby on Rails 中的偶数周/奇数周),上述答案很有帮助。然后你可以做week_number.even?week_number.odd?
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-09-24
        • 2014-10-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多