gpt4 book ai didi

ruby-on-rails - 显示两个给定时间之间的 15 分钟步长

转载 作者:太空宇宙 更新时间:2023-11-03 16:59:57 25 4
gpt4 key购买 nike

我有一个约会表,可以保存 2 次。开始和结束。我想以 15 分钟的步长显示所有约会。例如给定上午 10 点/上午 11 点,现在在我的 View 中显示 10.15、10.30、10.45!感谢您的建议!

-@appointment.each do |form|  
=form.date
=form.start_time
=form.end_time

最佳答案

我有一个单线,但这是你真正想要的吗?希望这两个日期之间的差异不会太大,下面的代码不是很有效。

(Time.now.to_i..1.hour.from_now.to_i).to_a.in_groups_of(15.minutes).collect(&:first).collect { |t| Time.at(t) }  

更好的解决方案:

# Your variables
time_start = Time.now
time_end = time_start + 1.hour
[time_start].tap { |array| array << array.last + 15.minutes while array.last < time_end }

我在 Ruby 的 Time 实例方法中添加了 to:

class Time
def to(to, step = 15.minutes)
[self].tap { |array| array << array.last + step while array.last < to }
end
end

所以你最终得到这样的代码:

time_start.to(time_end)

所有三个解决方案都将以包含 Time 步骤对象的数组结束。

 => [2011-07-22 17:11:11 +0200, 2011-07-22 17:26:11 +0200, 2011-07-22 17:41:11 +0200, 2011-07-22 17:56:11 +0200, 2011-07-22 18:11:11 +0200] 

关于ruby-on-rails - 显示两个给定时间之间的 15 分钟步长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6783589/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com