From: mailme@... Date: 2016-12-25T08:21:30+00:00 Subject: [ruby-core:78826] [Ruby trunk Bug#12981] Date.parse raises an Argument error under a specific condition Issue #12981 has been updated by Alfred Dominic. I see a similar inconsistency in the `Date._parse` method. Everything works fine as expected as long as the `/` delimiter is used. I think it has something to do with `_parse` being able to parse strings with delimiter and one without it. ~~~ ruby Date._parse("2016/12/01") => {:year=>2016, :mon=>12, :mday=>1} Date._parse("2016-12-01") => {:year=>2016, :mon=>12, :mday=>1} Date._parse("2016/12") => {:year=>2016, :mon=>12} Date._parse("2016-12") => {:mon=>20, :mday=>16, :zone=>"-12", :offset=>-43200} ~~~ ---------------------------------------- Bug #12981: Date.parse raises an Argument error under a specific condition https://bugs.ruby-lang.org/issues/12981#change-62235 * Author: Kenta SHIRAI * Status: Open * Priority: Normal * Assignee: * Target version: * ruby -v: 2.3.3p222 (2016-11-21 revision 56859) [x86_64-linux] * Backport: 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: UNKNOWN ---------------------------------------- Date.parse cannot accept incomplete strings whose delimiter is a hyphen like: "2016-12", although it can accept if a delimiter is a slash like: "2016/12" I'm not really sure if this is a bug or an expected behavior, but a maintainer of rails/rails recommended me to report this to Ruby team when I issued a PR( https://github.com/rails/rails/pull/27181 ) to them. So I'd appreciate if this issue is looked into. steps to reproduce: ~~~ ruby require "date" => true Date.parse("2016/12/01") => # Date.parse("2016-12-01") => # Date.parse("2016/12") => # Date.parse("2016-12") ArgumentError: invalid date from (irb):3:in `parse' from (irb):3 from /usr/local/bin/irb:11:in `
' ~~~ -- https://bugs.ruby-lang.org/ Unsubscribe: