如何将分钟添加到时间对象
Posted
技术标签:
【中文标题】如何将分钟添加到时间对象【英文标题】:How to add minutes to a Time object 【发布时间】:2011-10-19 15:44:03 【问题描述】:在 Ruby 中,我该怎么做Time.now + 10.hours
?
secs
和 mins
是否有等价物?例如:
Time.now + 15.mins
【问题讨论】:
反过来不行:10 + Time.now
: TypeError: Time can't be coerced into Fixnum
但Time.now + 10
可以工作.. 对于所有有同样问题的人;)
【参考方案1】:
Ruby(编程语言)没有10.hours
,这是ActiveSupport
作为Ruby on Rails(Web 框架)的一部分。是的,它确实有 minutes
和 seconds
方法。
但是,Time#+
(Time 实例上的 + 方法)会返回一个新的 Time 实例,该实例是未来的秒数。因此,无需任何 Ruby on Rails 糖,您可以简单地执行以下操作:
irb> t = Time.now
#=> 2011-08-03 22:35:01 -0600
irb> t2 = t + 10 # 10 Seconds
#=> 2011-08-03 22:35:11 -0600
irb> t3 = t + 10*60 # 10 minutes
#=> 2011-08-03 22:45:01 -0600
irb> t4 = t + 10*60*60 # 10 hours
#=> 2011-08-04 08:35:01 -0600
【讨论】:
@NailsonLandim,您可能会发现Timerizer 很有用。 “没有 Rails 的 Rails 时间语法。” Core Extensions 文档的相应部分是guides.rubyonrails.org/… 和以下两个部分。【参考方案2】:如果您使用 ActiveSupport,您正在寻找的是完整的 .minutes
和 .seconds
。
Time.now + 10.minutes
Time.now + 10.seconds
【讨论】:
【参考方案3】:您还可以在 ActiveSupport 中执行以下操作:
10.minutes.from_now
10.minutes.ago
【讨论】:
【参考方案4】:我认为您说的是 Rails 添加的扩展。我想你需要15.minutes
。
请参阅Active Support Core Extensions for Date, DateTime and Time 了解更多信息。
【讨论】:
【参考方案5】:时间对象
time = Time.now
向时间对象添加分钟:
time + 5.minutes
【讨论】:
以上是关于如何将分钟添加到时间对象的主要内容,如果未能解决你的问题,请参考以下文章