Fre*_*ung 55
A Time
是自纪元以来的秒数,而a DateTime
是自纪元以来的天数,这就是为什么添加1
到a DateTime
会增加一整天.但是,您可以添加一天中的一小部分
d = DateTime.now
d + Rational(10, 86400)
Run Code Online (Sandbox Code Playgroud)
将增加10秒d
(因为一天有86400秒).
如果您使用的是Rails,ActiveSupport会添加一些辅助方法,您可以这样做
d + 20.minutes + 10.seconds
Run Code Online (Sandbox Code Playgroud)
哪个做正确的事d
是a DateTime
或a Time
.您可以单独使用ActiveSupport,现在您可以只提供所需的位数.我似乎记得这个东西在里面activesupport/duration
.我相信还有一些其他宝石也提供时间处理方面的帮助.
假设您需要 Active Support 或者您在 Rails 项目中工作。在 Ruby 中执行此操作的一种非常简单易读的方法是:
DateTime + 5.minutes
Time + 5.minutes
Run Code Online (Sandbox Code Playgroud)
也适用于seconds
, hours
, days
, weeks
, months
, years
。