Вывод хроники может быть легко отформатирован. chronic.parse
возвращает объект времени. Вы можете использовать strftime
для форматирования, как описано здесь .
puts Chronic.parse('today').strftime('%d %b %Y') #=> 23 Feb 2010
Что касается ввода, я не могу найти в хронике ничего, что сделало бы это автоматически. Манипулирование входной строкой - это, вероятно, лучший способ.
Редактировать: у Chronic есть внутренний pre_normalize
, который вы могли бы перегрузить ..
требуется 'хронический'
puts Chronic.parse('12-02-2010').strftime('%d %b %Y') #=> 02 Dec 2010
module Chronic
class << self
alias chronic__pre_normalize pre_normalize
def pre_normalize(text)
text = text.split(/[^\d]/).reverse.join("-") if text =~ /^\d{1,2}[^\d]\d{1,2}[^\d]\d{4}$/
text = chronic__pre_normalize(text)
return text
end
end
end
puts Chronic.parse('12-02-2010').strftime('%d %b %Y') #=> 12 Feb 2010