hijri é uma biblioteca lunar completa do calendário islâmico islâmico para rubi.
O calendário islâmico ou calendário muçulmano ou calendário islâmico: é um calendário lunar que consiste em 12 meses lunares em um ano de 354 ou 355 dias. É usado para datar eventos em muitos países muçulmanos (simultaneamente com o calendário gregoriano) e usado por muçulmanos em todos os lugares para determinar o dia adequado para celebrar os dias sagrados e festivais islâmicos. O primeiro ano foi o ano em que ocorreu a emigração do profeta islâmico Maomé de Meca para Medina, conhecida como Hégira. Cada ano numerado é designado H para Hégira ou AH para o latim anno Hegirae (no ano da Hégira).[1] Um número limitado de anos antes da Hégira (BH) é usado para datar eventos relacionados ao Islã, como o nascimento de Maomé em 53 BH.[2] O ano islâmico atual é 1431 AH, de aproximadamente 18 de dezembro de 2009 (noite) a 6 de dezembro de 2010 (noite).
http://en.wikipedia.org/wiki/Islamic_calendar
Adicione esta linha ao Gemfile da sua aplicação:
gem 'hijri'
E então execute:
$ bundle
Ou instale você mesmo como:
$ gem install hijri
require 'hijri'
# you can create hijri date from stdlib Date class.
h = Date . today . to_hijri # => #<Hijri::Date:0x007f875e8c84e8 @year=1436, @month=2, @day=16>
# or you can initialize new one.
hijri = Hijri :: Date . new 1430 , 1 , 3 # => #<Hijri::Date:0x007f875e8dbb38 @year=1430, @month=1, @day=3>
# or you can get today hijri date directly.
today = Hijri :: Date . today # => #<Hijri::Date:0x007f875e8d8410 @year=1436, @month=2, @day=16>
# and you can convert hijri date to greogian date also.
hijri . to_greo # => #<Date: 2009-01-01 ((2454833j,0s,0n),+0s,2299161j)>
# and there is DateTime too
date_and_time = Hijri :: DateTime . now # => #<Hijri::DateTime:0x007f875e8eac00 @year=1436, @month=2, @day=16, @hour=14, @minute=14, @second=39, @zone="+03:00">
# hijri support strftime method with the same options as Greogian date format method
Hijri :: DateTime . now . strftime ( '%c' ) # => "Ahad Rabia I 20 16:00:25 1436"
Esta biblioteca tem como objetivo oferecer suporte e é testada nas seguintes implementações Ruby:
Se algo não funcionar em uma dessas versões do Ruby, é um bug.
Esta biblioteca pode funcionar inadvertidamente (ou parecer funcionar) em outras implementações Ruby, porém o suporte só será fornecido para as versões listadas acima.
Se você quiser que esta biblioteca suporte outra versão Ruby, você pode se voluntariar para ser um mantenedor. Ser um mantenedor implica garantir que todos os testes sejam executados e aprovados nessa implementação. Quando algo falhar em sua implementação, você será responsável por fornecer patches em tempo hábil. Se existirem problemas críticos para uma implementação específica no momento de um lançamento principal, o suporte para essa versão Ruby poderá ser abandonado.
git checkout -b my-new-feature
)git commit -am 'Added some feature'
)git push origin my-new-feature
)