Class: Date
Class Method Summary collapse
-
.between(min, max) ⇒ Object
Return a random date between min & max.
Instance Method Summary collapse
-
#age_days(compare_to_date = Date.today) ⇒ Object
Return the age in days for a given date.
-
#age_years(compare_date = Date.today) ⇒ Object
Return the age in years for a given date.
-
#to_sql ⇒ Object
Return date in a sql format: YYYY-MM-DD.
-
#weekday? ⇒ Boolean
Return true if the date is a weekday: Mon, Tue, Wed, Thu, Fri.
-
#weekend? ⇒ Boolean
Return true if the date is a weekend: Sat, Sun.
Class Method Details
.between(min, max) ⇒ Object
Return a random date between min & max
Example
d1= Date.parse('2008-01-01')
d2= Date.parse('2009-01-01')
Date.between(d1,d3) => Date 2008-11-22
48 49 50 |
# File 'lib/webget_ramp/date.rb', line 48 def self.between(min,max) min+rand(max-min) end |
Instance Method Details
#age_days(compare_to_date = Date.today) ⇒ Object
Return the age in days for a given date.
82 83 84 |
# File 'lib/webget_ramp/date.rb', line 82 def age_days(compare_to_date=Date.today) (compare_to_date-self).to_i end |
#age_years(compare_date = Date.today) ⇒ Object
Return the age in years for a given date.
Example
birthdate=Date.new(1980,10,31)
birthdate.age_years => 28 (where 28 is the correct age for today)
Example of custom dates
birthdate=Date.new(1980,10,31)
valentines = Date.new(2008,02,14)
birthdate.age_years(valentines) => 27 # before the birthday
halloween = Date.new(2008,10,31)
birthdate.age_years(halloween) => 28 # on the birthday
new_years_eve = Date.new(2008,12,31)
birthdate.age_years(new_years_eve) => 28 # after the birthday
73 74 75 76 77 |
# File 'lib/webget_ramp/date.rb', line 73 def age_years(compare_date=Date.today) age=compare_date.year-year age-=1 if compare_date.month < month or (compare_date.month==month and compare_date.day < day) age end |
#to_sql ⇒ Object
Return date in a sql format: YYYY-MM-DD
Example
d=Date.today
d.to_sql => "2007-12-31"
12 13 14 |
# File 'lib/webget_ramp/date.rb', line 12 def to_sql return to_time.strftime("%Y-%m-%d") end |
#weekday? ⇒ Boolean
Return true if the date is a weekday: Mon, Tue, Wed, Thu, Fri
Example
d = Date.parse('2008-01-01')
d.wday => 2
d.weekday? => true
24 25 26 |
# File 'lib/webget_ramp/date.rb', line 24 def weekday? wday>0 and wday<6 end |
#weekend? ⇒ Boolean
Return true if the date is a weekend: Sat, Sun
Example
d = Date.parse('2008-01-05')
d.wday => 6
d.weekend? => true
36 37 38 |
# File 'lib/webget_ramp/date.rb', line 36 def weekend? wday==0 or wday==6 end |