Joh*_*ohn 6 time ruby-on-rails difference
我想计算两个date_time字段之间的时间差(以分钟为单位).像created_at和updated_at种类的字段.我想要这样的结果updated_at - created_at = some minutes.
这些时间出现在印度的时区.我怎么能在铁轨上做到这一点?
created = article.created_at
updated = article.updated_at
minutes = updated - created
Run Code Online (Sandbox Code Playgroud)
Dou*_*oug 16
此解决方案适用于使用和的TimeWithZone类的ActiveRecord模型.created_atupdated_at
created = article.created_at
updated = article.updated_at
minutes = (updated - created) / 1.minutes
Run Code Online (Sandbox Code Playgroud)
作为created_at和updated_at类型DateTime,这应该工作.
created = article.created_at
updated = article.updated_at
minutes = ((updated - created) * 24 * 60).to_i
Run Code Online (Sandbox Code Playgroud)
说明:
减去两个DateTimes将返回以天为单位的已用时间.在下面的例子e-d中将返回(28807336643183/28800000000000).因此,要将其转换为分钟,我们需要将其乘以24*60(因为当天有24小时,每小时有60分钟)
实施例(试验):
d = DateTime.now
=> Tue, 13 Jun 2017 10:21:59 +0530
2.3.3 :003 > e = DateTime.now + 1.day
=> Wed, 14 Jun 2017 10:22:21 +0530
g = ((e-d) * 24 * 60).to_i
=> 1440
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9270 次 |
| 最近记录: |