Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.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 on rails 3 如何以15分钟的间隔重复开始和结束时间_Ruby On Rails 3_Datetime_Iteration - Fatal编程技术网

Ruby on rails 3 如何以15分钟的间隔重复开始和结束时间

Ruby on rails 3 如何以15分钟的间隔重复开始和结束时间,ruby-on-rails-3,datetime,iteration,Ruby On Rails 3,Datetime,Iteration,如何:迭代表中的行,其中每一行都有一个时间标签。第一行是开始时间,最后一行是结束时间,迭代应该每隔15分钟创建一行 即 开始时间:06:00,结束时间:07:00 06:00 06:15 06:30 06:45 07:00 更新 start_time=time.local(2013,5,25,06,00) 结束时间=当地时间(2013,5,25,20,00) 开始 开始时间+=15.5分钟 开始时间 开始时间a=Time.now => 2013-05-25 23:39:44 +0200 1.9

如何:迭代表中的行,其中每一行都有一个时间标签。第一行是开始时间,最后一行是结束时间,迭代应该每隔15分钟创建一行

即 开始时间:06:00,结束时间:07:00

06:00

06:15

06:30

06:45

07:00

更新
start_time=time.local(2013,5,25,06,00)
结束时间=当地时间(2013,5,25,20,00)
开始
开始时间+=15.5分钟
开始时间
开始时间<结束时间时结束

这将返回零…但是,不应该…它应该返回值

我不确定我是否正确理解这个问题,但下面是一个如何在15分钟间隔内生成时间的示例

1.9.3p392 :029 > a = Time.now
=> 2013-05-25 23:39:44 +0200 
1.9.3p392 :030 > a = a - a.sec - a.min%15*60
=> 2013-05-25 23:30:00 +0200 
1.9.3p392 :031 > b = a + 1.hour
=> 2013-05-26 00:30:00 +0200 
1.9.3p392 :032 > begin
1.9.3p392 :033 >     a += 15.minutes
1.9.3p392 :034?>   puts a
1.9.3p392 :035?>   end while a < b
2013-05-25 23:45:00 +0200
2013-05-26 00:00:00 +0200
2013-05-26 00:15:00 +0200
2013-05-26 00:30:00 +0200
1.9.3p392:029>a=Time.now
=> 2013-05-25 23:39:44 +0200 
1.9.3p392:030>a=a-a.sec-a.min%15*60
=> 2013-05-25 23:30:00 +0200 
1.9.3p392:031>b=a+1.5小时
=> 2013-05-26 00:30:00 +0200 
1.9.3p392:032>开始
1.9.3p392:033>a+=15.5分钟
1.9.3p392:034?>将
1.9.3p392:035?>在a

也许这有点帮助

我不确定我是否正确理解了这个问题,但下面是一个如何在15分钟间隔内生成时间的示例

1.9.3p392 :029 > a = Time.now
=> 2013-05-25 23:39:44 +0200 
1.9.3p392 :030 > a = a - a.sec - a.min%15*60
=> 2013-05-25 23:30:00 +0200 
1.9.3p392 :031 > b = a + 1.hour
=> 2013-05-26 00:30:00 +0200 
1.9.3p392 :032 > begin
1.9.3p392 :033 >     a += 15.minutes
1.9.3p392 :034?>   puts a
1.9.3p392 :035?>   end while a < b
2013-05-25 23:45:00 +0200
2013-05-26 00:00:00 +0200
2013-05-26 00:15:00 +0200
2013-05-26 00:30:00 +0200
1.9.3p392:029>a=Time.now
=> 2013-05-25 23:39:44 +0200 
1.9.3p392:030>a=a-a.sec-a.min%15*60
=> 2013-05-25 23:30:00 +0200 
1.9.3p392:031>b=a+1.5小时
=> 2013-05-26 00:30:00 +0200 
1.9.3p392:032>开始
1.9.3p392:033>a+=15.5分钟
1.9.3p392:034?>将
1.9.3p392:035?>在a

也许这有点帮助,这就是我想出来的,正是我需要的。灵感来自jethroos的回答

def cal_times

start_time = Time.local(2013, 5, 25, 06, 00) 
  end_time = Time.local(2013, 5, 25, 20, 00) 
     times = [start_time.strftime('%H:%M')]

  begin
    start_time += 15.minutes
    times << start_time.strftime('%H:%M')
  end while start_time < end_time

  times

end
def校准时间
开始时间=当地时间(2013年5月25日06月00日)
结束时间=当地时间(2013,5,25,20,00)
times=[开始时间.strftime(“%H:%M”)]
开始
开始时间+=15.5分钟

时代这是我想到的,正是我需要的。灵感来自jethroos的回答

def cal_times

start_time = Time.local(2013, 5, 25, 06, 00) 
  end_time = Time.local(2013, 5, 25, 20, 00) 
     times = [start_time.strftime('%H:%M')]

  begin
    start_time += 15.minutes
    times << start_time.strftime('%H:%M')
  end while start_time < end_time

  times

end
def校准时间
开始时间=当地时间(2013年5月25日06月00日)
结束时间=当地时间(2013,5,25,20,00)
times=[开始时间.strftime(“%H:%M”)]
开始
开始时间+=15.5分钟
时代