Is there a decent canonical way to get total days in a month fromsay Time class?

X

Xeno Campanoli

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
 
X

Xeno Campanoli

Xeno said:
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.
 
B

botp

Here's a fairly simple sequence I found on the net using Date (attributio= ns
to kelyar, jgwong, and timmorgan, whoever they are):

#!/usr/bin/ruby
#

require 'date'

d0 =3D Date.new(2009,6,1)
puts "trace d0: =A0#{d0}"

you could jump to end by using negative day
d0 =3D Date.new(2009,12,-1)
=3D> # said:
=3D> 31
 
M

Michael Kohl

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:

=A0 =A0 =A0 =A0daysofmonth =3D 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=3DTime.now.year, m=3D1)
(Date.new(year,12,31)<<12-month).day
end

days_of_month(2004, 2) # =3D> 29
days_of_month(2003, 2) # =3D> 28

Michael

--=20
Blog: http://citizen428.net/
Twitter: http://twitter.com/citizen428
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,764
Messages
2,569,567
Members
45,041
Latest member
RomeoFarnh

Latest Threads

Top