Xeno_C
1
I suppose I could flip through local until I generate an exception, but
somehow
I would think there would be a set of class methods to get:
daysofmonth = Time.daysofmonth(y,m)
daysofyear = Time.daysofyear(y)
leapday = Time.leapday?(y)
leapseconds = Time.leapseconds?(y)
??
xc
Xeno_C
2
Xeno C. wrote:
I suppose I could flip through local until I generate an exception, but
somehow I would think there would be a set of class methods to get:
Here’s a fairly simple sequence I found on the net using Date
(attributions to
kelyar, jgwong, and timmorgan, whoever they are):
#!/usr/bin/ruby
require ‘date’
d0 = Date.new(2009,6,1)
puts “trace d0: #{d0}”
d1 = d0 >> 1
puts “trace d1: #{d1}”
d2 = d1 - 1
puts “trace d2: #{d2}”
d3 = d2.day
puts “trace d3: #{d3}”
—snip—
the above are my own illustration of what the authors show in their blog
posts.
Xeno_C
3
On Thu, Jun 11, 2009 at 9:19 AM, Xeno
Campanoli[email protected] wrote:
require ‘date’
d0 = Date.new(2009,6,1)
puts “trace d0: #{d0}”
you could jump to end by using negative day
d0 = Date.new(2009,12,-1)
=> #<Date: 2009-12-31 (4910393/2,0,2299161)>
d0.day
=> 31
Xeno_C
5
On Thu, Jun 11, 2009 at 3:02 AM, Xeno
Campanoli[email protected] wrote:
I suppose I could flip through local until I generate an exception, but
somehow I would think there would be a set of class methods to get:
daysofmonth = Time.daysofmonth(y,m)
Do you want to get the maximum number of days for a given year/month
combination? Here you go:
def days_of_month(year=Time.now.year, m=1)
(Date.new(year,12,31)<<12-month).day
end
days_of_month(2004, 2) # => 29
days_of_month(2003, 2) # => 28
Michael