я могу получить номер месяца на следующий месяц и год с:Как я могу получить название месяца от номера месяца
(Time.now + 1.month).month
# => 10
(Time.now + 1.month).year
# => 2015
Как я могу получить "October"
от 10
?
я могу получить номер месяца на следующий месяц и год с:Как я могу получить название месяца от номера месяца
(Time.now + 1.month).month
# => 10
(Time.now + 1.month).year
# => 2015
Как я могу получить "October"
от 10
?
Используйте строку формата.
(Time.now + 1.month).strftime("%B")
# => "October"
Вы можете использовать MONTHNAMES Дейта постоянных
Date::MONTHNAMES[10] => "October"
В моем случае мне нужно было получить название месяца «let say September» от целого числа, что целое - это все, что у меня есть, и я не могу контролировать его, поэтому я использовал это '<% = Date :: MONTHNAMES [month] %> 'работал как шарм – saadlulu
Я думаю, что это должно быть сделано с помощью модуля I18n, поскольку strftime
игнорирует локаль:
(Time.now + 1.month).strftime("%B") # => 'October'
I18n.l(Time.now + 1.month, format: "%B") # => 'Oktober'
Я просто хотел опубликовать это. ЭТО ОСОБЕННО - лучшее решение, используя модуль I18n. –
Рубин Дата класса обеспечивает постоянный массив имен месяцев. Вы можете передать номер месяца в качестве индекса и получит название месяца
Date::MONTHNAMES[10]
# November
Чтобы получить сокращенное название месяца
Date::ABBR_MONTHNAMES[10]
# Nov
Или вы также можете получить название месяца от даты использования STRFTIME% B formater как
Date.today.strftime(%B)
# September
аналогично
(Time.now + 1.month).strftime('%B')
# November
Если ваше приложение многоязычное или используя язык другой, то английский, вы можете получить локализованы название месяца, используя I18N
I18n.l(Time.now, format: "%B")
Суммирует три варианта. Я предпочитаю индивидуальные ответы, которые проголосовали вверх и вниз, чтобы показать их относительные достоинства. –
работы. приму. –
он работает, но игнорирует локаль –
@ArupRakshit yep, это правда, но я подумал, что это может быть полезно упомянуть. –