Calendrical

Calendrical provides calendar-related functions that build upon the conversion capabilities of Calendar available in Elixir from verison 1.5.0.

The conversion mechanism is based upon the definition of rata die as described in Calendrical Calculations by Dershowitz and Reingold. This rata die gives a numberical value to a moment in time that is idependent of any specific calendar. As a result libraries such as Calendrical can implement different calendars and calendar calculations in a conformant way.

Calendrical implements:

  • K-Day calculations in Calendrical.Kday

  • Additional Arithmetic calendar types (Gregorian and Julian calendar are in this release)

  • Astronomical calendar types (in a future release)

Roadmap

This first release provides k-day functions in Calendarical.Kday. Next few releases will add additional arithmetic calendars. Astronomical calendars will take longer - to ensure the Astronomy calculations are correct.

Elixir Version Support

Calendrical requires Elixir 1.5 or later. It is tested on Elixir 1.5.0-rc.0

Installation

  1. Add calendrical to your list of dependencies in mix.exs:
    def deps do
      [{:calendrical, "~> 0.1.0"}]
    end
  1. Ensure calendrical is started before your application:
    def application do
      [applications: [:calendrical]]
    end

The docs can be found at https://hexdocs.pm/calendrical