Я пытаюсь разобрать даты, экспортированные из CMS. К сожалению, с набором шведской локали. Названия месяцев сокращены до трех символов, что имеет значение, когда речь идет о месяцах май и октябрь ("maj" против "May", и "okt" против "Oct").
Я ожидал, что использование DateTime.strptime с правильной локалью решит эту проблему, например, так:
require 'locale'
Locale.default = "sv_SE"
require 'date'
DateTime.strptime("10 okt 2009 04:32",'%d %b %Y %H:%M')
Однако дата все равно разбирается так, как она бы разбиралась при использовании сокращенных названий месяцев на английском языке:
ArgumentError: invalid date
from lib/ruby/1.9.1/date.rb:1691:in `new_by_frags'
from lib/ruby/1.9.1/date.rb:1716:in `strptime'
from (irb):9
from bin/irb:16:in `'
Вопрос 4339399 затрагивает ту же тему и содержит ссылку на сложное решение для исправления этой проблемы.
Есть ли более элегантное решение для этого? Считается ли это вообще ошибкой в Ruby?