Добавление st, nd, rd, th к дате в Ruby

В настоящее время я делаю программу, которая определяет дату в исходном HTML-коде и сравнивает ее с текущей датой.

Пока придумываю свой код. Я понял, что столкнулся с небольшой проблемой. HTML, который я собираю и сравниваю, использует формат вроде этого «23 декабря 2014 года». То, что у меня есть, не сравнится с этим.

Мой код, который печатает текущую дату, не добавляет «st, nd, rd или th» к дню месяца.

time = Time.new
puts time.strftime("%B %d, %Y")

Кто-нибудь может найти для этого решение?


person Abubakkar Siddique    schedule 29.12.2014    source источник
comment
@mdesantis Я не согласен. Это специфично для Rails, это общий Ruby.   -  person August    schedule 30.12.2014
comment
Хороший замечание, так что дубликат stackoverflow.com/questions/165170/   -  person mdesantis    schedule 30.12.2014
comment
Увидев, как я использовал # {time.day.ordinalize}, я получил ошибку undefined method 'ordinalize' для 30: Fixnum (NoMethodError) Можно с уверенностью сказать, что это недопустимое решение.   -  person Abubakkar Siddique    schedule 30.12.2014
comment
Можете ли вы добавить информацию к своему вопросу о том, как вы сравниваете существующий HTML (в котором есть st, nd и т. Д.) С вашим кодом? Очень легко пропустить st, nd и т. Д. В сравнениях, если вы используете типичное сопоставление с образцом.   -  person joelparkerhenderson    schedule 30.12.2014