Ruby 从单个日期获取日期范围

Ruby 从单个日期获取日期范围,ruby,date,date-range,Ruby,Date,Date Range,我当然可以自己做,但是Ruby中是否有内置的功能,或者库,可以让我做类似的事情 date = Time.now sunday = date.week.first_day saturday = date.week.last_day 感谢天由0..6表示,星期日为0 date = Time.now puts date.wday 将输出本周的今日数字代码 require 'active_support' d = Date.today # => Mon

我当然可以自己做,但是Ruby中是否有内置的功能,或者库,可以让我做类似的事情

date = Time.now
sunday = date.week.first_day
saturday = date.week.last_day

感谢

天由0..6表示,星期日为0

date = Time.now
puts date.wday 
将输出本周的今日数字代码

require 'active_support'
d = Date.today                     # => Mon, 25 Jan 2010
sun = d.beginning_of_week - 1.day  # => Sun, 24 Jan 2010
sat = d.end_of_week - 1.day        # => Sat, 30 Jan 2010
你想完成什么

通过加上或减去一天中的秒数,你可以从现在起整整一天到达一个不同的日期

date = Time.now
puts date + 86400 #will be tomorrow
使用宝石。然而,它认为周一是一周的开始

require 'active_support'
d = Date.today                     # => Mon, 25 Jan 2010
sun = d.beginning_of_week - 1.day  # => Sun, 24 Jan 2010
sat = d.end_of_week - 1.day        # => Sat, 30 Jan 2010
如果今天是星期天,我需要更多的工作

def week_ends(date)
  sun = date.beginning_of_week - 1.day
  sat = date.end_of_week - 1.day
  if date.sunday?
    sun += 1.week
    sat += 1.week
  end
  [sun, sat]
end

p d = Date.today
p week_ends(d)

p d = Date.yesterday
p week_ends(d)
导致

Mon, 25 Jan 2010
[Sun, 24 Jan 2010, Sat, 30 Jan 2010]
Sun, 24 Jan 2010
[Sun, 24 Jan 2010, Sat, 30 Jan 2010]

您已经问了8个问题,但尚未接受任何答案。如果某个答案对您有所帮助,请单击答案左侧的勾号接受该答案。谢谢这些问题特别要求gem简化此操作(以及类似操作)的视觉表示。这并不能真正回答他的问题。你有没有发现客户真的不知道他想要什么(不是特别指你,blogofsongs)