我目前有这个 if 语句:
if Time.now.day == 1 and Time.now.hour == 0 and Time.now.minute == 0 and Time.now.second == 0
有没有更简洁的方法来做到这一点?
最佳答案
您可以使用 Time#to_a将您的时间转换为数组(秒、分钟、小时、日、月、年、wday、yday、isdst、时区):
Time.now.to_a # => [20, 57, 16, 30, 11, 2010, 2, 334, false, "CET"]
然后切掉你想要匹配的部分:
Time.now.to_a[0,4] # => [20, 57, 16, 30]
您的特定检查可以像这样简洁:
if Time.now.to_a[0,4] == [0,0,0,1]
关于ruby - 有没有更简洁的方法来组合 Ruby 中的许多比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4310655/