我试图仅在最近30分钟内创建此记录时才允许销毁记录。
然后我检索记录的created_at
值(date2)并检查Time.now
(date1):
date1 = 2016-09-21 19:44:52 +0200
date2 = 2016-09-21 17:23:16 UTC
然后我只是减去这两个:
(date1-date2).minutes.to_i
但是返回的结果是成千上万(比如97000)并且当我刷新时增长非常快..(Time.now
更改)而我们应该只有141分钟如上面的示例值
答案 0 :(得分:2)
((date1 - date2) / 60).round
是让事情无法发挥作用的原因。删除它,它应该工作。
如果你想在几分钟之内找到差距,你只需要减去它们,将结果除以每60分钟并将其四舍五入。
{{1}}
希望它有所帮助,快乐的红宝石编码!
答案 1 :(得分:1)
您需要先将当地时间(time1
)转换为UTC时间,或将UTC时间(time2
)转换为当地时间。
require 'time'
time1 = Time.parse('2016-09-21 19:44:52 +0200')
#=> 2016-09-21 19:44:52 +0200
time2 = Time.parse('2016-09-21 17:23:16 UTC')
#=> 2016-09-21 17:23:16 UTC
(time1.utc - time2)/60
#=> 21.6