=20
I'm a bit curious why the first DateTime example seems to have
interpreted the date as NOVEMBER 30.
=20
Also, Ruby 1.9's Date/DateTime parsing is much more picky about what
it understands. For example it used to go to some lengths to use
heuristics to allow either US or international month day ordering, but
no longer.
=20
=20
Because it doesn't understand the order of the portions of the input
string
$ irb
irb(main):016:0> puts DateTime.parse('Oct 30 2009 17:26:33')
2009-10-30T17:26:33+00:00
=3D> nil
versus
irb(main):001:0> puts DateTime.parse('17:26:33 Oct 30 2009')
2009-11-30T20:09:33+00:00
=3D> nil
irb(main):002:0> puts DateTime.parse('17:26:33 Oct 30 2009')
2009-11-30T20:09:33+00:00
=3D> nil
irb(main):003:0> puts DateTime.parse('17:26:33 Nov 30 2009')
2009-11-30T20:09:33+00:00
=3D> nil
irb(main):004:0> puts DateTime.parse('17:26:33 Dec 30 2009')
2009-11-30T20:09:33+00:00
=3D> nil
irb(main):005:0> puts DateTime.parse('17:26:33 Jan 30 2009')
2009-11-30T20:09:33+00:00
=3D> nil
irb(main):006:0> puts DateTime.parse('17:26:33 Jan 10 2009')
2009-11-10T20:09:33+00:00
=3D> nil
irb(main):007:0> puts DateTime.parse('Jan 30 2009')
2009-01-30T00:00:00+00:00
=3D> nil
irb(main):008:0> puts DateTime.parse('17:26 Jan 10 2009')
2009-11-10T20:09:00+00:00
=3D> nil
irb(main):009:0> puts DateTime.parse('17 Jan 10 2009')
0010-01-17T00:00:00+00:00
=3D> nil
irb(main):010:0> puts DateTime.parse('10 Jan 10 2009')
0010-01-10T00:00:00+00:00
=3D> nil
irb(main):011:0> puts DateTime.parse('1 Jan 10 2009')
0010-01-01T00:00:00+00:00
=3D> nil
irb(main):012:0> puts DateTime.parse('1 12 10 2009')
2009-11-12T10:00:00+00:00
=3D> nil
irb(main):013:0> puts DateTime.parse('12 10 2009')
2009-11-12T10:00:00+00:00
=3D> nil
irb(main):014:0> puts DateTime.parse('12 10 2009 0')
2009-11-12T10:00:00+00:00
=3D> nil