Sha256: db1d8eafe1200c51ca6eb650971ccaabd142c920b4277d4fa7ced257a04ec6a3

Contents?: true

Size: 836 Bytes

Versions: 1

Compression:

Stored size: 836 Bytes

Contents

class Date
  def to_hijri
    Hijri::Date.new *Hijri::Converter.greo_to_hijri(self)
  end
  
  def last_day_of_gregorian_month(month)
    # Compute the last date of the month for the Gregorian calendar.
    if month == 2
      return 29 if (self.year % 4 == 0 && self.year % 100 != 0) || (self.year % 400 == 0)
    end
    return [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month - 1]
  end
  
  def to_abs
    @d = self.day
    @m = self.month - 1
    @m.downto(1) do |m|
      @d += last_day_of_gregorian_month(@m, year)
    end
    return (@d + 365 * (year - 1) + (year -1) / 4.0 - (year - 1) / 100.0 + (year - 1) / 400.0).to_i
  end
end

class DateTime
  def to_hijri
    Hijri::DateTime.new *Hijri::Converter.greo_to_hijri(self)
  end
  
  if RUBY_VERSION < '1.8.8'
    alias :minute :min
    alias :second :sec
  end
    
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
hijri-0.2.0 lib/hijri/gregorian.rb