Хронический разбор месяца / дня

Я использую Chronic для разбора дат, и он разбирает строку "8/15" по состоянию на 16 августа 2015 года.

Любые идеи о том, как я могу заставить Chronic признать 8/15 как 15 августа текущего года?

Вот тестовый код:

Chronic.parse('8/15') #=> 'Sun Aug 16 12:00:00 -0400 2015'

2 ответа

Как вариант:

irb(main):016:0> Chronic.parse("#{Time.now.year}/8/15")
=> 2011-08-15 12:00:00 +0300

Лучший способ сделать это - использовать обычный разбор DateTime, предоставляемый Ruby. В качестве примера вы можете разобрать дату, позвонив:

ruby-1.9.2-p290 :001 > require 'date'
 => true 
ruby-1.9.2-p290 :002 > DateTime.strptime("8/15", "%m/%d")
 => #<DateTime: 2011-08-15T00:00:00+00:00 (4911577/2,0/1,2299161)> 
ruby-1.9.2-p290 :003 > 
Другие вопросы по тегам