当前位置 : 主页 > 编程语言 > ruby >

ruby – 从给定日期开始每隔14天获取一个数组

来源:互联网 收集:自由互联 发布时间:2021-06-23
在ruby中,我怎样才能获得一年中的每一个第14天,从日期开始向后和向前. 所以考虑我今天,2015年6月16日收到2周的回收费用.如何根据该日期获得今年每个回收计费日的数组. 日期有一个 s
在ruby中,我怎样才能获得一年中的每一个第14天,从日期开始向后和向前.

所以考虑我今天,2015年6月16日收到2周的回收费用.如何根据该日期获得今年每个回收计费日的数组.

日期有一个 step方法:

require 'date'

d = Date.strptime("6-16-2015", '%m-%d-%Y') # strange date format
end_year = Date.new(d.year, -1, -1)
p d.step(end_year, 14).to_a

# =>[#<Date: 2015-06-16 ((2457190j,0s,0n),+0s,2299161j)>, #<Date: 2015-06-30 ((2457204j,0s,0n),+0s,2299161j)>, ...

# Going backward:
begin_year = Date.new(d.year, 1, 1)
p d.step(begin_year,-14).to_a

# =>[#<Date: 2015-06-16 ((2457190j,0s,0n),+0s,2299161j)>, #<Date: 2015-06-02 ((2457176j,0s,0n),+0s,2299161j)>,...
网友评论