Хроник НЕ возвращает строку
Mon Jul 05 12:00:00 -0500 2010
Скорее, Chronic возвращает экземпляр класса Time
Поскольку erb <% = xxx%> хочет строку, .to_s вызывается автоматически. Итак, что на самом деле происходит:
<%= Chronic.parse("next monday").to_s %>
Похоже, вы хотите другой формат вывода. Используйте метод strftime
<%= Chronic.parse("next monday").strftime("%I:%M %p") %>
==> 05:00 AM
or
<%= Chronic.parse("next monday").strftime("%A %B %I:%M %p") %>
==> Monday July 5 05:00 AM
(Я оставлю читателю в качестве упражнения выяснить, как сделать это 5 июля, а не 5 июля или 5:00, а не 05:00. Или задать еще один вопрос на SO)
Добавлено:
Также обратите внимание, что вам нужно знать о часовых поясах. Хронический анализ использует местное время и местные часовые пояса. (Локально для сервера.) Вот что означает -0500. Вам нужно решить, как обрабатывать часовые пояса в вашем приложении.