Ruby 如何验证日期/时间至少在 24 小时内?

Mik*_*e D 0 ruby

我在 utc iso8601 中有一个日期/时间格式,如下所示:

 2017-07-12T13:30:44Z
Run Code Online (Sandbox Code Playgroud)

我可以通过这样做来获得“现在”:

now = Time.now.utc.iso8601
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚如何比较并确保我在第一个块中的日期/时间在过去 24 小时内。

Col*_*ent 5

有几种方法可以处理这个问题。在我看来,最简单的方法是比较两个日期时间。

像这样的东西:

导轨

datetime >= 1.day.ago && datetime <= Time.now

香草红宝石

这需要您手动处理更多日期,它会在几秒钟内响应。所以一小时 3600 秒,一天 24 小时。

datetime >= Time.now - (3600 * 24) && datetime <= Time.now

本质上,这是说“确保我的时间对象更近或等于 24 小时前,但不是现在过去的日期”

  • ¯\\_(ツ)_/¯ 对于一些使用 ruby​​ 一段时间的人来说,这可能是一个简单的问题,但这并不意味着它对每个人来说都很简单。祝你好运,迈克。很高兴我能帮助你。干杯! (2认同)