Rails 4 - 如何为 strftime 设置时区



我们数据库中的每个用户都可以选择自己的时区。我们应用程序的默认时区Eastern Time

  config.time_zone = 'Eastern Time (US & Canada)'
  config.active_record.default_timezone = 'Eastern Time (US & Canada)'  

当我在应用程序中显示一些日期/时间时,我通常为此目的使用 .strftime .如何为strftime提供一个参数以正确显示日期/时间(在特定用户的给定时区中)?

或者有没有比使用 strftime 格式化每个日期/时间更好的方法?

编辑:

每个用户都有一个time_zone字符串列,其中存储时区如下:"Eastern Time (US & Canada)" 。由于每个时区都会重新计算每个日期/时间,因此性能如何?这不会减慢太多的渲染视图吗?

strftime之前设置时间对象in_time_zone()

假设您正在显示created_at,您会执行以下操作:

object.created_at.in_time_zone(current_user.timezone).strftime("...")

相关内容

  • 没有找到相关文章

最新更新