【问题标题】:Rails: Loop over every hour between two timesRails:在两次之间每小时循环一次
【发布时间】:2023-03-29 01:41:01
【问题描述】:

如果我定义以下内容:

    timetogoback = Time.zone.local(2012,8,01,0,0)

    timeupto = Time.zone.local(2012,9,12,12,0)

作为两次,我如何创建一个在这些时间之间每小时迭代一次的循环?

我正在尝试运行一次性任务以从现有数据创建按小时汇总表。所以我想循环并将 created_at 设置为正确的时间,以便计算和保存的数据在那个确切的时间是正确的。

谢谢。

【问题讨论】:

    标签: ruby-on-rails loops time


    【解决方案1】:

    这是一个 while 循环,它递增 timetogoback 直到大于 timeupto

    while timeupto > timetogoback do
      timetogoback += 1.hour
      print "#{timetogoback}\n"
    end
    

    【讨论】:

    • 问题中有 RoR 标签,因此您可以使用1.hour 而不是60*60 使其更加清晰:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-29
    • 1970-01-01
    • 2015-10-03
    • 1970-01-01
    • 2020-07-01
    相关资源
    最近更新 更多