我当然可以自己做,但是 Ruby 或库中是否有内置功能可以让我做这样的事情
date = Time.now
sunday = date.week.first_day
saturday = date.week.last_day
谢谢
我当然可以自己做,但是 Ruby 或库中是否有内置功能可以让我做这样的事情
date = Time.now
sunday = date.week.first_day
saturday = date.week.last_day
谢谢
使用ActiveSupport gem。然而,它认为星期一是一周的开始。
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]
天数用 0..6 表示,星期日为 0。
date = Time.now
puts date.wday
将输出今天的本周数字代码。
你想达到什么目的?
通过添加或减去一天中的秒数,您将在 1 天后到达另一个日期。
date = Time.now
puts date + 86400 #will be tomorrow