我需要当前的周数,如果我没完全记错的话,现在是第 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
为什么?
Time.now.strftime('%V')
将根据ISO 8601为您提供周数。
why is that?
根据 %U 或 %W,第一周前一年中的天数在第 0 周 (00..53) 中。
与 %V(如麦克莱恩所写@Graeme),第一周前一年中的天数在前一年(01..53)。
从这里。
嗯,我不确定为什么会这样,但是要使用 Ruby 获得正确的一个,我使用这个:
require 'Date'
week_number = Date.today.cweek #=> 51