DateTime Math 自 confirmation_sent_at Rails 设计以来 2 小时或更长时间

DateTime Math 2 Hours Or Greater Since confirmation_sent_at Rails Devise

时间和日期数学似乎总是让我受益匪浅。我想写一张支票来验证自我们发送原始设计确认电子邮件以来已经过去了 2 小时或更长时间。

我尝试了不同的变体来尝试使用 DateTime 和时间等,但我无法弄明白,需要一些帮助。 confirmation_sent_at 是我相信的 DateTime。例如:Tue, 17 May 2022 20:47:51.290039000 UTC +00:00.

如何检查自 current_user.confirmation_sent_at 以来是否 >= 2 小时。出于测试目的,我一直在使用分钟和秒 fwiw 2.minutes.ago、2.hours.ago 等

例如现在是10:00

例如 user1 的确认已在 9:00 中发送,user2 的确认已在 5:00

中发送

使用<

user1.confirmation_sent_at < 2.hours.ago # => false
user2.confirmation_sent_at < 2.hours.ago # => true

并使用 >

user1.confirmation_sent_at > 2.hours.ago # => true
user2.confirmation_sent_at > 2.hours.ago # => false