Хронический разбор месяца / дня
Я использую 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 >