Ruby/Range/Date Range

Материал из Wiki.crossplatform.ru

Перейти к: навигация, поиск

Содержание

DateTime Range

require "date"
sunday = DateTime.new(2006, 1, 1)
(sunday...sunday+7).each do |d|
  puts "#{d.strftime("%a")} #{d.wday} #{d.cwday}"
end
# Sun 0 7
# Mon 1 1
# Tue 2 2
# Wed 3 3
# Thu 4 4
# Fri 5 5
# Sat 6 6



Iterating Over Dates

require "date"
(Date.new(1776, 7, 2)..Date.new(1776, 7, 4)).each { |x| puts x }



Range based on DateTime

require "date"
span = DateTime.new(1776, 7, 2, 1, 30, 15)..DateTime.new(1776, 7, 4, 7, 0, 0)
span.each { |x| puts x }



Range based on Time

(Time.at(100)..Time.at(102)).each { |x| puts x }