gpt4 book ai didi

ruby-on-rails - Rails计算时间差

转载 作者:数据小太阳 更新时间:2023-10-29 08:24:14 25 4
gpt4 key购买 nike

我已经尝试过这样的代码,但它不起作用:

require 'time_diff'

cur_time = Time.now.strftime('%Y-%m-%d %H:%M')
time_diff_components = Time.diff(@art.datetime_of_update, Time.parse(cur_time))
if @art.PRICEM.to_f >= eprice.to_f || @art.PRICEM.blank? && time_diff_components[:hour] < 3 &&

但是 timediff 是 0,在 db 时间看起来是这样的:

2012-08-28 19:53:12

如何计算现在和数据库之间的小时差?

最佳答案

首先,你应该看看这两行:

cur_time = Time.now.strftime('%Y-%m-%d %H:%M')
time_diff_components = Time.diff(@art.datetime_of_update, Time.parse(cur_time))

为什么要格式化时间然后只使用该值作为解析操作的输入?当然,这样写会更简单——也更不脆弱——

time_diff_components = Time.diff(@art.datetime_of_update, Time.now)

我不知道为什么 Time.diff 对你不起作用(我不是 Ruby 开发人员),但如果目的是检查文章是否更新“小于3 小时前”,那么有一个更简单的方法:从当前时间减去三个小时,并将文章的更新时间与该限制进行比较:

limit_time = Time.now + 3.hours
if @art.PRICEM.to_f >= eprice.to_f || @art.PRICEM.blank? && @art.datetime_of_update >= limit_time

关于ruby-on-rails - Rails计算时间差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12338721/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com