2014-11-24 1 views
3

Я знаю, что могу сделать @something.created_at.strftime('%d/%m/%y'), чтобы получить дату в dd/mm/yy формате, но это боль.Ruby strftime в формате UK, т. Е. Дд/мм/гг

Американским пользователям, однако, просто необходимо сделать простой: @something.created_at.strftime('%x'), что дает мм/дд/гг.

Можно ли установить %x на работу надлежащим образом, то есть на британском пути (поскольку мы изобрели время).

+0

Это вопрос Rails? – Stefan

+0

Вы хотите что-то вроде% x, которое дает дату/месяц/год в рубине? –

+3

нет такого формата в коротких обозначениях, я бы предложил написать вспомогательный метод для wrap '.strftime ('% d /% m /% y')' –

ответ

1

правильно способ сделать это сейчас:

# in config/locales/en.yml 
date: 
    formats: 
    default: 
     "%d/%m/%y" 

Тогда в представлении:

= l Date.current 

Да, это все. Метод l является сокращением для I18n.localize. Читайте больше в Rails I18n guide.

-1

Есть взгляд на easy_dates gem

gem install gemcutter 
gem tumble 
gem install easy_dates 

вам не придется беспокоиться о постоянно форматировании даты с strftime.

0

Если это то, что вы собираетесь часто использовать вы можете использовать Proc:

def brit_date 
    Proc.new 
end 

proc = brit_date {Time.now.strftime("%d/%m/%y") 
proc.call 
=> "24/11/14" 
Смежные вопросы