ruby-on-rails - 将 ActiveSupport::TimeWithZone 转换为 DateTime

标签 ruby-on-rails ruby datetime

我试图在两个日期之间每隔 N 天步进一次。我尝试了以下代码,但没有用,因为 startDate 和 endDate 是 ActiveSupport::TimeWithZone 对象,而不是我想的 DateTime 对象。

startDate.step(endDate, step=7) { |d| puts d.to_s}
  min.step(max, step=stepInt){ |d|
  puts d.to_s  
}

如何将 TimeWithZone 对象转换为 DateTime?

最佳答案

我认为更新这个答案可能会有用,因为我最近在搜索这个。实现此转换的最简单方法是使用 .to_datetime() 函数。

例如

5.hours.from_now.class              # => ActiveSupport::TimeWithZone
5.hours.from_now.to_datetime.class  # => DateTime

引用:http://api.rubyonrails.org/classes/ActiveSupport/TimeWithZone.html#method-i-to_datetime

关于ruby-on-rails - 将 ActiveSupport::TimeWithZone 转换为 DateTime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4494954/

相关文章:

ruby-on-rails - 是否有必要对 ActiveRecord 验证进行单元测试?

ruby-on-rails - 在 Rails URL 中不使用 _url 而不是 _path 有技术原因吗?

ruby-on-rails - 无法将自定义字段添加到 Ruby on Rails 中的 Devise 模型。私有(private)方法错误

ruby-on-rails - 使用 before_action 过滤器的 RSPEC 测试索引操作

ruby-on-rails - rails : Plus sign in GET-Request replaced by space

ruby-on-rails - 按两个属性排序,其中一个在子模型中(rails 4)

ruby-on-rails - rails : conditional home link

Java 字符串日期到 XMLGregorianCalendar 格式 yyyy-MM-dd'T'HH :mm:ss. SSSSSSS'Z'

Python 日期转换。如何将阿拉伯语日期字符串转换为日期或日期时间对象python

c# - DateTime.Ticks 属性值