【发布时间】:2010-12-02 12:22:43
【问题描述】:
我目前有这个 if 语句:
if Time.now.day == 1 and Time.now.hour == 0 and Time.now.minute == 0 and Time.now.second == 0
有没有更简洁的方法来做到这一点?
【问题讨论】:
-
顺便说一句,Time.now 每次调用时不会给你一个新的当前时间吗?首先将 Time.now 设置为局部变量,然后在 if 语句中使用它不是更好吗?我想这取决于你真正想要什么......
-
它将返回不同的值,只是它们会相差很小的一秒。从理论上讲,时间可能会从 00:00:00 转换到 00:00:01。在 IRB 中试试这个:
5.times { puts Time.now.to_f }以了解测试条件的速度。
标签: ruby comparison if-statement