我在environment.rb中的默认语言环境设置为de(德语).

我还看到了所有德语错误消息,因此服务器会获取区域设置.但当我试着打印strftime个日期时,就像下面这样:

some_date.strftime('%B, %y')

它以英语打印(January, 11),而不是预期的德语打印(Januar, 11).

如何根据默认区域设置打印日期?

推荐答案

使用l(localize的别名)方法代替原始strftime,如下所示:

l(date, format: '%B %d, in the year %Y')

更多信息请参见here,希望能有所帮助.

您还可以定义"命名"格式,其中一些(shortlong)已经预定义.

Ruby-on-rails相关问答推荐

rails:如何在表单验证后使用涡轮刷新列表

创建大哈希的 Ruby 方法

Ruby on rails 查询不知道怎么写

'elseif' 还存在吗?

Mongoid 3 + Heroku (MongoHQ) 导致 Moped::Errors::OperationFailure

如何从 Ruby on Rails 应用程序返回正确的 HTTP 错误代码

将 cookie 会话存储添加回 Rails API 应用程序

Rails 3.1 在开发模式下非常慢,因为assets资源 ,怎么办?

如何解决弃用警告方法 to_hash 已弃用并将在 Rails 5.1 中删除

我如何找出为什么我不能#destroy() 记录?

Rails 3.1 Sprockets 需要指令 - 有没有办法排除特定文件?

Rails Rake 任务 - 访问模型类

确认后如何进行设计重定向

有没有办法列出所有 belongs_to 关联?

在 Devise on Rails beta 3 中创建管理员用户

Active Record has_many:通过删除一条关联记录

Sidekiq 在 docker-compose 上的 127.0.0.1:6379 (Errno::ECONNREFUSED) 上连接到 Redis 时出错

如何使用 Rails 3 获取请求的目标控制器和操作?

如何使用 url 连接到 postgresql

如何删除特殊字符?