增加铁路中的wday

时间:2018-01-24 13:52:21

标签: ruby-on-rails ruby

我正在处理铁轨中的工作日(wday)。即数字0,1,2,3,4,5,6

不是日期,只是一周中的几天。

我需要将星期五,星期六,星期日[4,5,6]翻译成星期六,星期日,星期一[5,6,0]。如果我只加1,那么我最终得到[5,6,7]这是不好的,因为第7天不存在。我需要在周末结束。

有一种简单的方法吗?

1 个答案:

答案 0 :(得分:2)

使用这个奇怪的小技巧,modulo operator

def next_day(cur_day)
  max_day_number = 7
  (cur_day + 1) % max_day_number
end

next_day(4) # => 5
next_day(5) # => 6
next_day(6) # => 0

它确保如果值超过限制(max_day_number),它只会回绕到0并重新开始。