hijri
v0.4.0
hijri 是红宝石的完整阴历伊斯兰回历 lib。
伊斯兰历或穆斯林历或回历:是一种阴历,由 12 个太阴月组成,一年有 354 或 355 天。它用于确定许多穆斯林国家的事件日期(与公历同时),并被世界各地的穆斯林用来确定庆祝伊斯兰圣日和节日的适当日期。第一年是伊斯兰先知穆罕默德从麦加迁徙到麦地那的一年,称为“希吉拉”。每个编号的年份被指定为 H(代表 Hijra)或 AH(代表拉丁文 anno Hegirae)(在 Hijra 年份)。[1]希吉拉 (BH) 之前的有限年数用于确定与伊斯兰教相关的事件的日期,例如穆罕默德于 53 BH 诞生。 [2]目前的伊斯兰教历是伊斯兰历 1431 年,大约从 2009 年 12 月 18 日(晚上)到 2010 年 12 月 6 日(晚上)。
http://en.wikipedia.org/wiki/Islamic_calendar
将此行添加到应用程序的 Gemfile 中:
gem 'hijri'
然后执行:
$ bundle
或者自己安装:
$ 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"
该库旨在支持以下 Ruby 实现并对其进行测试:
如果某些东西在这些 Ruby 版本之一上不起作用,那就是一个错误。
该库可能会无意中在其他 Ruby 实现上工作(或似乎工作),但是仅对上面列出的版本提供支持。
如果您希望这个库支持另一个 Ruby 版本,您可以自愿成为维护者。作为维护者需要确保所有测试都运行并传递该实现。当您的实施出现问题时,您将负责及时提供补丁。如果在主要版本发布时存在特定实现的关键问题,则可能会放弃对该 Ruby 版本的支持。
git checkout -b my-new-feature
)git commit -am 'Added some feature'
)git push origin my-new-feature
)