gpt4 book ai didi

ruby-on-rails-3 - 在 Rails 3 中自定义 en.yml 中的日期时间格式

转载 作者:行者123 更新时间:2023-12-03 11:08:14 25 4
gpt4 key购买 nike

根据文档 http://guides.rubyonrails.org/i18n.html#adding-date-time-formats ,要求特定日期格式的最佳方法是在/config/locales/en.yml 中定义它们。我已经复制并粘贴了这个文件:https://github.com/rails/rails/blob/master/activesupport/lib/active_support/locale/en.yml到我的语言环境目录。

我做了一些更改(星号仅用于强调):

"en-US":
date:
formats:
default: "%Y-%m-%d"
**short: "short %b %d"**


time:
formats:
default: "%a, %d %b %Y %H:%M:%S %z "
**short: "short %B %d, %Y"**

在我的部分:
<%= l item.create_date, :format => :short %>

其中 create_date 是我的项目数据库中的日期时间行。

我已经重新启动了我的服务器,但仍然得到一个格式如下的日期:
3 月 15 日 00:00

我有一种感觉,这是因为我既没有使用日期也没有使用时间。我找不到日期时间的“短”或“长”的定义。我尝试通过添加以下代码将其添加到此文件中:
datetime:
formats:
short: "short %B %d, %Y"

没运气。我错过了什么。我觉得我是直接按照说明操作的。谢谢!

最佳答案

【若干年后……】

如果你想干掉你的日期格式和/或你有遗留代码 to_s到处都是并且不打算将您的应用程序国际化,您可以这样做:

I18n.t('date.formats').each do |key, value|
Date::DATE_FORMATS[key] = value
end

然后只需在 config/locales/en.yml 中定义您的格式.当然,如果您打算翻译您的应用程序,则需要更改所有出现的 to_s使用 I18n.l下面推荐的方法。

你也可以在没有 Rails 的情况下使用它。只需在上述代码之前添加以下内容:
require 'active_support/time'
I18n.load_path << 'en.yml'

关于ruby-on-rails-3 - 在 Rails 3 中自定义 en.yml 中的日期时间格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5366567/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com