From: abdelrazzak.ahmed@... Date: 2017-12-26T19:37:20+00:00 Subject: [ruby-core:84485] [Ruby trunk Bug#14241] Time.strptime() doesn't support the directive "%W". Issue #14241 has been updated by mad-raz (Ahmed A.Razzak). To add to the report, the Time.strptime doesn't support any of the following directives ~~~ %w %W %j %u ~~~ basically, it doesn't support anything outputted from the Date._strptim that is not in the following hash keys (https://github.com/ruby/ruby/blob/ruby_2_5/lib/time.rb#L448) ~~~ :year , :mon, :mday, :hour, :min, :sec, :sec_fraction, :zone ~~~ and the previous format directives produce various different keys like ~~~ :wnum1, :cwday, :wday, :yday ~~~ examples: ~~~ irb > Date.strptime("2017 1 3", "%Y %W %u").strftime("%F") => "2017-01-04" irb > Time.strptime("2017 1 3", "%Y %W %u").strftime("%F") => "2017-01-01" irb > Date.strptime("2017 20", "%Y %j").strftime("%F") => "2017-01-20" irb > Time.strptime("2017 20", "%Y %j").strftime("%F") => "2017-01-01" ~~~ ---------------------------------------- Bug #14241: Time.strptime() doesn't support the directive "%W". https://bugs.ruby-lang.org/issues/14241#change-68999 * Author: stsuboi (Sougo TSUBOI) * Status: Open * Priority: Normal * Assignee: * Target version: * ruby -v: ruby 2.3.3p222 (2016-11-21 revision 56859) [x64-mingw32] * Backport: 2.3: UNKNOWN, 2.4: UNKNOWN, 2.5: UNKNOWN ---------------------------------------- According to reference manual, Time.strptime() accepts the directive "%W" in a format string, but it seems not to be worked. On the other hand, Date.strptime() accepts "%W" correctly. C:\>ruby -v ruby 2.3.3p222 (2016-11-21 revision 56859) [x64-mingw32] C:\>irb irb(main):001:0> require "time" => true irb(main):003:0> Time.strptime("2017 1", "%Y %W").strftime("%F") => "2017-01-01" irb(main):004:0> Date.strptime("2017 1", "%Y %W").strftime("%F") => "2017-01-02" -- https://bugs.ruby-lang.org/ Unsubscribe: