英国格式的Ruby strftime,即dd/mm/yy

英国格式的Ruby strftime,即dd/mm/yy,ruby,strftime,Ruby,Strftime,我知道我可以在.strftime('%d/%m/%y')做一些@创建的东西,以dd/mm/yy格式获取日期,但这很痛苦 然而,美国用户只需要做一件简单的事情:@something.created_at.strftime(“%x”),它给出mm/dd/yy 有没有可能装备%x以正确的方式工作,即英国方式(自我们发明时间以来)。有没有看过 您不必担心日期的格式问题。如果这是您要经常使用的东西,您可以使用Proc: def brit_date Proc.new end proc = brit

我知道我可以在.strftime('%d/%m/%y')做一些
@创建的东西,以dd/mm/yy格式获取日期,但这很痛苦

然而,美国用户只需要做一件简单的事情:
@something.created_at.strftime(“%x”)
,它给出mm/dd/yy

有没有可能装备
%x
以正确的方式工作,即英国方式(自我们发明时间以来)。

有没有看过


您不必担心日期的格式问题。

如果这是您要经常使用的东西,您可以使用Proc:

def brit_date
  Proc.new 
end

proc = brit_date {Time.now.strftime("%d/%m/%y")}
proc.call
 => "24/11/14"
现在正确的做法是:

# in config/locales/en.yml
date:
  formats:
    default:
      "%d/%m/%y"
然后在视图中:

= l Date.current

是的,就是这样。l方法是I18n.localize的简写。阅读。

这是Rails的问题吗?你想要一些类似于%x的东西,它以ruby的形式给出日期/月/年吗?在短符号中没有这样的格式,我建议编写一个helper方法来包装
.strftime(“%d/%m/%y”)
我想我们有。ruby中的.strftime(“%D”)如何?@stefan,是的,有点,尽管我认为它在没有Rails的情况下可以工作,因为strftime来自标准lib,您可能想用它来标记这个问题,因为它不适用于普通ruby。
= l Date.current