From: leemour@... Date: 2016-04-12T14:22:20+00:00 Subject: [ruby-core:74894] [Ruby trunk Bug#12273] Time.parse incorrectly parses Russian months Issue #12273 has been updated by Viacheslav Ptsarev. Subject changed from Time.parse incorrectly parses 31st days of month in Russian to Time.parse incorrectly parses Russian months When parsing dates in Russian where day number is 31, `Time.parse` returns `2016-05-01`. No matter what month or year is provided. With other dates, it returns date with given day number, but current month and year. 31 march 2016: ``` irb(main):003:0> require "time" => true irb(main):004:0> Time.parse "31 ���������� 2016" => 2016-05-01 00:00:00 +0300 irb(main):005:0> Time.parse "31 march 2016" => 2016-03-31 00:00:00 +0300 irb(main):006:0> Time.parse "31 mars 2016" => 2016-03-31 00:00:00 +0300 ``` 31 december 2013: ``` irb(main):013:0> Time.parse "31 �������������� 2013" => 2016-05-01 00:00:00 +0300 irb(main):014:0> Time.parse "31 december 2013" => 2013-12-31 00:00:00 +0400 ``` 22 january 2013: ``` irb(main):010:0> Time.parse "22 ������������ 2013" => 2016-04-22 00:00:00 +0300 irb(main):011:0> Time.parse "22 january 2013" => 2013-01-22 00:00:00 +0400 ``` ---------------------------------------- Bug #12273: Time.parse incorrectly parses Russian months https://bugs.ruby-lang.org/issues/12273#change-58020 * Author: Viacheslav Ptsarev * Status: Open * Priority: Normal * Assignee: * ruby -v: 2.3.0 * Backport: 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: UNKNOWN ---------------------------------------- When parsing dates in Russian where day number is 31, `Time.parse` returns `2016-05-01`. No matter what month or year is provided. 31 march 2016: ``` irb(main):003:0> require "time" => true irb(main):004:0> Time.parse "31 ���������� 2016" => 2016-05-01 00:00:00 +0300 irb(main):005:0> Time.parse "31 march 2016" => 2016-03-31 00:00:00 +0300 irb(main):006:0> Time.parse "31 mars 2016" => 2016-03-31 00:00:00 +0300 ``` 31 december 2013: ``` irb(main):013:0> Time.parse "31 �������������� 2013" => 2016-05-01 00:00:00 +0300 irb(main):014:0> Time.parse "31 december 2013" => 2013-12-31 00:00:00 +0400 ``` -- https://bugs.ruby-lang.org/ Unsubscribe: