Если честно, так как у вас всего два месяца, я бы просто gsub
их:
DateTime.strptime("10 okt 2009 04:32".gsub(/okt/,'Oct'),'%d %b %Y %H:%M')
Если вы хотите, вы можете поместить это в маленький помощник:
def swedish_to_english_date(date_string)
date_string.gsub(/may|okt/, 'may' => 'May', 'okt' => 'Oct')
end
DateTime.strptime(swedish_to_english_date("10 okt 2009 04:32"),'%d %b %Y %H:%M')
#=> #<DateTime: 110480161/45,0,2299161>
Edit: Обратите внимание, что gsub
с хешем в качестве второго аргумента - это 1,9, в 1,8 вы можете сделать что-то вроде
>> months = { 'may' => 'May', 'okt' => 'Oct' }
=> {"okt"=>"Oct", "may"=>"May"}
>> "may okt".gsub(/may|okt/) { |match| months[match] }
=> "May Oct"