Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Ruby中设置未来日期_Ruby - Fatal编程技术网

在Ruby中设置未来日期

在Ruby中设置未来日期,ruby,Ruby,为明确起见,更新:一张彩票的开奖日期是周三或周六,另一张彩票的开奖日期是周二或周五。考虑到开始日期,我需要一个不确定的票子的未来提取日期,在给定的日期之间为各自的票子交替。比赛的开始日期已经被确认在一周中的这几天登陆 我想检查Powerball图纸是否连续安排在Wed或Sat的适当日期: # Increment zero is the first subsequent drawing if increment.zero? if starting_date.saturday?

为明确起见,更新:一张彩票的开奖日期是周三或周六,另一张彩票的开奖日期是周二或周五。考虑到开始日期,我需要一个不确定的票子的未来提取日期,在给定的日期之间为各自的票子交替。比赛的开始日期已经被确认在一周中的这几天登陆

我想检查Powerball图纸是否连续安排在Wed或Sat的适当日期:

# Increment zero is the first subsequent drawing
    if increment.zero?
      if starting_date.saturday? or starting_date.friday?
        starting_date + 4.days
      else
        starting_date + 3.days
      end
    elsif increment == 1
      starting_date + 1.week
    else
      if starting_date.saturday? or starting_date.friday?
        starting_date + (increment / 2.0).ceil.weeks + 4.days
      else
        starting_date + (increment / 2.0).ceil.weeks + 3.days
      end
    end
我得到了一些结果

t.lines[0].draw_date  #=> Wed, 09 Mar 2016 
t.lines[1].draw_date  #=> Sat, 12 Mar 2016 
t.lines[2].draw_date  #=> Wed, 16 Mar 2016 
t.lines[3].draw_date  #=> Sat, 19 Mar 2016 
t.lines[4].draw_date  #=> Sat, 26 Mar 2016 
t.lines[5].draw_date  #=> Sat, 26 Mar 2016 
t.lines[6].draw_date  #=> Sat, 02 Apr 2016 
t.lines[7].draw_date  #=> Sat, 02 Apr 2016 

似乎应该有一个简单的解决方案。

我找到了解决方案

loop do
  break d if d.wednesday? || d.saturday?
  d += 1.day
end
  if increment.even?
    if starting_date.saturday? or starting_date.friday?
      starting_date + (increment / 2).weeks + 4.days
    else
      starting_date + (increment / 2).weeks + 3.days
    end
  elsif increment.odd?
    if starting_date.saturday? or starting_date.friday?
      starting_date + (increment / 2.0).ceil.weeks
    else
      starting_date + (increment / 2.0).ceil.weeks
    end
  end

什么是
t.lines
?什么是绘图日期?你期望的结果是什么?每一行都应该是前一天的下一个星期三或星期六。你想在这里做什么,这个代码是不必要的复杂!我需要得到一系列连续彩票的抽奖日期,给定一个索引。使用开始日期和索引,以及开始日期的星期几,我可以计算每个索引的后续提取日期。对于powerball,最终结果是
Wed>Sat>Wed>Sat等,对于Megamillion,结果是Fri>Tue>Fri>Tue
。很好,你说的索引是指偏移量?