質問

I need the current week number, if I'm not totally mistaken it's week 51 right now? However when testing it in the console I get this.

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

Why is that?

役に立ちましたか?

解決

Time.now.strftime('%V') will give you the week number according to ISO 8601.

他のヒント

why is that?

according to %U or %W, The days in the year before the first week are in week 0 (00..53).

with %V (as @Graeme McLean wrote), The days in the year before the first week are in the last week of the previous year (01..53).

From here.

Hmm, I'm unsure as to why it is that way, but to get the correct one using Ruby, I use this:

require 'Date'

week_number = Date.today.cweek #=> 51
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top