我正在转向铁轨,有时候有点奇怪。安装es.yml文件后,我试图输出我的数据库的DATETIME列。如果我这样做:
= l(a.created_at, :format => :short)
没关系。它以西班牙语格式打印出一个漂亮的日期。但我对以这种方式使用 abbr_month_names 感到困惑。我已经尝试了很多不同的方式 - 相信我,我在这个问题上大约需要四个小时 - 但是我没有办法在短篇小说中输出月份名称“OCT。
我看了很多关于i18n和日期格式的网站,但文章总是以:format =>结尾。 :简短示例,并不关心其他显示日期的方法(好吧,有人还解释了如何使用:长格式...)
答案 0 :(得分:10)
德语de.yml
区域设置的摘录:
de:
date:
abbr_month_names:
-
- Jan
- Feb
- Mär
您可以通过Rails的translate函数直接访问语言环境:
I18n.t :abbr_month_names, :scope => :date // returns ['', 'Jan', 'Feb', 'Mär']
因为abbr_month_names
由多个条目组成(以连字符开头),所以它将返回一个数组。例如,您可以通过以下方式获取当前缩写的月份:
(I18n.t :abbr_month_names, :scope => :date)[Time.now.month]
答案 1 :(得分:5)
您可以使用a.created_at.strftime('%b')
此链接显示所有可能的日期时间部分:
http://www.ruby-doc.org/core-1.9.3/Time.html#method-i-strftime
答案 2 :(得分:0)
在您的YAML文件中输入:
es:
time:
formats:
abbr_month: "%b"
然后在您的视图中,您应该可以使用此功能:
= l(a.created_at, :format => :abbr_month)
从这里采取:http://guides.rubyonrails.org/i18n.html#adding-date-time-formats