Sha256: 45a61fa2fad81cce8c1cf82cf67c435f1549af21bc170dd659de6653f0f346bc
Contents?: true
Size: 1.09 KB
Versions: 3
Compression:
Stored size: 1.09 KB
Contents
require 'date' class Date def include?(tm) dtm = DateTime.parse(tm.asctime) slf = self.to_s d1 = DateTime.parse("#{slf} 00:00:00") d2 = DateTime.parse("#{slf} 23:59:59.99999") dtm.between?(d1,d2) end def to_datetime DateTime.new(year, month, day, 0, 0, 0) rescue NameError nil end def ago(sec) self - Rational.new!(sec, 86400) end alias :until :ago def since(sec) self + Rational.new!(sec, 86400) end alias :from_now :since def yesterday self - 1 end def tomorrow self + 1 end def last_week self - 7 end def next_week self + 7 end def last_month self - 30 end def next_month self + 30 end def last_year self - 365 end def next_year self + 365 end def month_start Date.new(year, month, 1) end def month_end d = {1 => 31, 2 => Date.new(year, month, day).leap? ? 29 : 28, 3 => 31, 4 => 30, 5 => 31, 6 => 30, 7 => 31, 8 => 31, 9 => 30, 10 => 31, 11 => 30, 12 => 31}[month] Date.new(year, month, d) end def year_start Date.new(year, 1, 1) end def year_end Date.new(year, 12, 31) end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
IOWA-1.0.3 | src/iowa/Extensions/Date.rb |
IOWA-1.0.2 | src/iowa/Extensions/Date.rb |
IOWA-1.0.0 | src/iowa/Extensions/Date.rb |