Ruby on rails Ruby,创建数组的时间与当前时间之差
我试图得到创建数组的时间和当前时间之间的差异,我似乎无法理解它,我这样做了,这似乎是完全合乎逻辑的,但它似乎永远都不起作用Ruby on rails Ruby,创建数组的时间与当前时间之差,ruby-on-rails,ruby,rake,Ruby On Rails,Ruby,Rake,我试图得到创建数组的时间和当前时间之间的差异,我似乎无法理解它,我这样做了,这似乎是完全合乎逻辑的,但它似乎永远都不起作用 mergelisting = MergeList.Pluck(:created_at, :partner, :gambler, :amount) (mergelisting).each do |i| t = Time.now nowtime = t.strftime("%I") nowtime.to_i mergetime = i[1].
mergelisting = MergeList.Pluck(:created_at, :partner, :gambler, :amount)
(mergelisting).each do |i|
t = Time.now
nowtime = t.strftime("%I")
nowtime.to_i
mergetime = i[1].strftime("%I")
mergetime.to_i
if nowtime - mergetime == 6
do some stuff...
end
end
我真正的问题是24小时和6小时之间的时间差是6小时,但24-6不会给出6小时。在这里我能做什么我假设
MergeList。pull
返回一个数组
,该数组中的第一项将是在数据库的列创建的Rails。然后:
mergelisting = MergeList.Pluck(:created_at, :partner, :gambler, :amount)
mergetime = mergelisting.first # Time from DB (created_at)
nowtime = Time.now # Current time
timediff_s = nowtime - mergetime # Difference in seconds
timediff_h = timediff_s / (60 * 60).to_f # Difference in hours as a floating point number
#
# Not exactly sure if this is what you wanted, but you now
# have the time difference as a floating point number expressed
# in hours. So you can do whatever you want with it
#
if (timediff_h.to_i == 6)
...the difference is anywhere between 6.0 and 7.0 hours...
...do whatever you need to do...
end
这似乎非常复杂。由于您使用的是Rails,我建议查看和。当mergetime和nowtime之间的差异为6小时时,请做一些事情。。。