chrismo wrote:
> Any date/time libraries out there (I can't seem to find anything in the
> std libs) that handle calculations like number of non-weekend days
> between two dates, etc.?

require 'date'

def weekdays(d1, d2)
  count = 0
  d1.upto(d2) do |date|
    count += 1 if [1,2,3,4,5].include?(date.wday)
  end
  count
end

puts weekdays( Date.new(2006, 12, 1), Date.new(2007, 1, 16) )

A more useful twist might be to collect the weekdays and return an
array:

require 'date'

def weekdays(d1, d2)
  _weekdays = []
  d1.upto(d2) do |date|
    _weekdays << date if [1,2,3,4,5].include?(date.wday)
  end
  _weekdays
end
    
puts weekdays( Date.new(2006, 12, 1), Date.new(2007, 1, 16) ).size