On Mon, 21 Aug 2006, Peter Krantz wrote: > Hi! > > I am Ruby newbie and have a question regarding Time.parse(). I am > using Time.parse to scan arbitrary strings for a datetime value. When > I feed strings that have no datetime value in them Time.parse seems to > return Time.now. > > How can I check if my string has a datetime value in it? I would > rather have Time.parse return nil if there wasn't any value in the > string. Right now it seems like I am unable to tell if there was a > datetime fragment in the string or not. There is no way to say if the > string contained a datetime value == now or if it was empty. > > Example: > >> reactor_shutdown = Time.parse("Never") > => Sun Aug 20 23:05:33 CEST 2006 > > Regards, > > Peter irb(main):001:0> require 'date' => true irb(main):002:0 reactor_shutdown = DateTime.parse "Never" ArgumentError: 3 elements of civil date are necessary from /home/ahoward//lib/ruby/1.8/date.rb:1214:in `new_with_hash' from /home/ahoward//lib/ruby/1.8/date.rb:1258:in `parse' from (irb):3 irb(main):003:0> reactor_shutdown = DateTime.parse "2006-00-24" ArgumentError: invalid date from /home/ahoward//lib/ruby/1.8/date.rb:1173:in `civil' from /home/ahoward//lib/ruby/1.8/date.rb:1216:in `new_with_hash' from /home/ahoward//lib/ruby/1.8/date.rb:1258:in `parse' from (irb):4 -a -- to foster inner awareness, introspection, and reasoning is more efficient than meditation and prayer. - h.h. the 14th dali lama