代码之家  ›  专栏  ›  技术社区  ›  dkris

Ruby正确使用日期.步骤()方法

  •  5
  • dkris  · 技术社区  · 14 年前

    我一直在尝试使用Date对象上的step()方法从当前日期检索前两个日期,如下所示:

      date_d.step(2, step=-2){|d|
        puts d        
      }
    

    式中,2是极限,step是后退或前进的步数。

    我是按照这里提供的文件来做的: Date.step()

    此代码段进入无限循环,然后不间断地(向后)输出日期

    这个方法似乎没有足够的文档,我也没有在网上找到解决方案。

    1 回复  |  直到 14 年前
        1
  •  6
  •   Nikolaus Gradwohl    14 年前

    limit参数是循环停止的日期,而不是天数或迭代次数。 比如说

    date_d = Date.parse( '2010-08-01' )
    date_d.step(date_d - 4 , step=-2){|d|
       puts d        
    }
    

    将输出

    2010-08-01
    2010-07-30
    2010-07-28