6
我想解析從CMS導出的日期。不幸的是,瑞典語區域設置。月份名稱縮寫爲三個字符,它們在五月和十月(「maj」與「May」以及「okt」與「Oct」)月份有所不同。如何使用Ruby中的DateTime strptime解析非英語日期?
我希望用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 `<main>'
有沒有更優雅的解決方案呢?這甚至被認爲是Ruby中的一個錯誤?
看起來像是一個合理的解決方案。我有這樣的東西,但不知道你可以使用'gsub'這樣的。比兩個'gsub'之後的鏈條更可讀。 – moonhouse
所以沒有辦法與l10n做到這一點?只是容易出錯的gsubs? – nurettin
這個特殊情況下的'gsub'對我來說並不特別容易出錯。根據你的使用情況,它可能是。 –