我的客户每个月的每个星期一都有一个活动。
我需要在日历中用红色标记它们。
我如何“干净地”找出星期一的日期?
答案 0 :(得分:2)
这是我的版本。
如果本月的第八个星期一是星期一,那么它是第二个星期一。如果不是星期一,那么到下周一会有多少天?
oct_2012 = Date.new 2012, 10, 8
oct_2012.wday # => 1, We're done!
nov_2012 = Date.new 2012, 11, 8
nov_2012.wday # => 4
nov_2012 + (8 - nov_2012.wday) # => 2012-11-12
这有帮助吗?
更简单的版本:只需添加即可完成。即使月份从星期一开始,该算法仍然有效。
oct_2012 = Date.new 2012, 10, 1
oct_2012 + (8 - oct_2012.wday) # => 2012-10-08
nov_2012 = Date.new 2012, 11, 1
nov_2012 + (8 - nov_2012.wday) # => 2012-11-12
一条规则并完成了!
答案 1 :(得分:0)
你第二个星期一将永远属于每个月的8日和14日。