Если вы знаете формат строки, используйте:
Time.strptime(date, format, now=self.now) {|year| ...}
http://www.ruby -doc.org / ядро-1.9 / классы / Time.html # M000266
Это решит вашу проблему и, вероятно, будет быстрее, чем Time.parse
.
EDIT:
Похоже, они взяли strptime
из класса Time, но в любом случае он вызвал Date.strptime
. Если вы находитесь на Rails, вы можете сделать:
Date.strptime("05-14-2009 19:00","%m-%d-%Y %H:%M").to_time
если вы используете чистый рубин, тогда вам нужно:
require 'date'
d=Date._strptime("05-14-2009 19:00","%m-%d-%Y %H:%M")
Time.utc(d[:year], d[:mon], d[:mday], d[:hour], d[:min],
d[:sec], d[:sec_fraction], d[:zone])
См. Также: Проблемы с форматированием даты и времени в Ruby on Rails .