我的created_at个时间戳存储在UTC中:

>> Annotation.last.created_at
=> Sat, 29 Aug 2009 23:30:09 UTC +00:00

如何将其中一个转换为"东部时间(美国和加拿大)"(考虑到夏令时)?比如:

Annotation.last.created_at.in_eastern_time

推荐答案

使用DateTime类的in_time_zone方法

Loading development environment (Rails 2.3.2)
>> now = DateTime.now.utc
=> Sun, 06 Sep 2009 22:27:45 +0000
>> now.in_time_zone('Eastern Time (US & Canada)')
=> Sun, 06 Sep 2009 18:27:45 EDT -04:00
>> quit

那么你的例子呢

Annotation.last.created_at.in_time_zone('Eastern Time (US & Canada)')

Ruby-on-rails相关问答推荐

未捕获语法错误:try 编辑TRIX时,请求的模块未在Rails 7.1中提供名为默认的导出(在youtube.js:1:8)

在Rails中,如何将帮助器方法添加到属性/列?

Rails引擎importmap Uncaught ReferenceError:未定义tinymce

Sweet Alert 2 在 Rails 7 应用程序中无法正常工作

如何保持 en.yml DRY?

在 Rails 6.1 升级后,作业(job)规范使用 Minitest::UnexpectedError 包装错误

为什么总是有东西在我的 mac 上的 5000 端口运行

Rails - 按连接表数据排序

循环大量记录时 Ruby on Rails 内存泄漏; find_each 没有帮助

twitter bootstrap下拉突然不起作用

什么是 Ruby 中的 Python 文档字符串?

不带参数的 request.fullpath

Rails 3 中的猴子补丁

在 Controller 中调用模型方法

减go Ruby 中的日期并以分钟为单位得到差异

何时使用 Helpers 而不是 Partials

Rails 3 返回 HTTP 406 Not Acceptable?

ActiveRecord 中多列的索引

Ruby on Rails 3:通过 Rails 将数据流式传输到客户端

t.belongs_to 在迁移