こういう時間があるときに30分ごとに処理したいなーってときがありますよね
a = Time.parse('2021-01-01 13:00')
b = Time.parse('2021-01-01 18:00')
# NG こんなのあったらいいな
(a..b).each_hour
目次
こんな風にした
細かい事は調整してねん
require 'time'
a = Time.parse('2021-01-01 13:00')
b = Time.parse('2021-01-01 18:00')
def each_time(start_time, end_time, interval_second)
current_time = start_time.clone
((end_time - start_time) / interval_second).to_i.times {
yield current_time
current_time += interval_second
}
end
p 'each 30min'
each_time(a, b, 1800) {|current_time|
p current_time.strftime '%H:%M'
}
p 'each 1hour'
each_time(a, b, 3600) {|current_time|
p current_time.strftime '%H:%M'
}
出力はこんなかんじ
"each 30min" "13:00" "13:30" "14:00" "14:30" "15:00" "15:30" "16:00" "16:30" "17:00" "17:30" "each 1hour" "13:00" "14:00" "15:00" "16:00" "17:00"
いかがでしたか???????????
babu
この記事がいいとおもったら僕と一緒に踊りませんか・・・?
別にいいやり方があったら教えてくださいtwitterとかで、
新品価格 |