From: niinikazuki@... Date: 2018-09-13T07:43:33+00:00 Subject: [ruby-core:88984] [Ruby trunk Bug#11984] DateTime.parse can parse invalid datetime string Issue #11984 has been updated by long_long_float (kazuki niimi). Is it a specification? When you pass 'fg4534253dd' to `DateTime#parse`, [`parse_ddd`](https://github.com/ruby/ruby/blob/480a21f435d2917190c087206bbffbd3d532824a/ext/date/date_parse.c#L1894) is called. It doesn't parse from begin of string. And [document](https://ruby-doc.org/stdlib-2.5.1/libdoc/date/rdoc/DateTime.html#method-c-parse) says `DateTime#parse` is not for validator. ---------------------------------------- Bug #11984: DateTime.parse can parse invalid datetime string https://bugs.ruby-lang.org/issues/11984#change-74013 * Author: lanscene (jarry xu) * Status: Open * Priority: Normal * Assignee: * Target version: * ruby -v: ruby 2.2.4p230 (2015-12-16 revision 53155) [x86_64-linux] and ruby 2.0.0p645 (2015-04-13 revision 50299) [universal.x86_64-darwin15] * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: UNKNOWN ---------------------------------------- It seems if you pass a string which begins with 2 alphabets and following is 7 numerics, it can be parsed as DateTime, as follows irb(main):002:0> require 'time' irb(main):008:0> dt0 = DateTime.parse('fg4534253dd') => # irb(main):009:0> dt0 = DateTime.parse('fg4534253') => # irb(main):010:0> DateTime.parse('gg1233234') => # irb(main):011:0> DateTime.parse('gg1233234dd') => # -- https://bugs.ruby-lang.org/ Unsubscribe: