Skip to content

jalaali/elixir-jalaali

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
lib
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Elixir Jalaali calendar

Build Status Hex.pm GitHub license GitHub issues

Elixir implementation of jalaali.js which contains a Calendar implementation for jalaali and some functions for converting Jalaali and Gregorian calendar systems to each other.

Installation

You can install jalaali by Addding it to your list of dependencies in mix.exs:

def deps do
  [
    {:jalaali, "~> 0.4"}
  ]
end

Usage

After installing jalaali package. you can create Dates/DateTimes in jalaali or convert Dates/DateTimes form other calendars back an forth.

How to use

  • Creating new Date
  Date.new(1396, 6, 30, Jalaali.Calendar)
  {:ok, %Date{calendar: Jalaali.Calendar, day: 30, month: 6, year: 1396}}
  • Converting a DateTime to Jalaali
  datetime_in_any_calendar = DateTime.utc_now(Calendar.ISO)
  {:ok, jalaali_datetime} = DateTime.convert(datetime_in_any_calendar, Jalaali.Calendar)
  • Converting a DateTime from Jalaali
  jalaali_datetime = DateTime.utc_now(Jalaali.Calendar)
  {:ok, iso_datetime} = DateTime.convert(jalaali_datetime, Calendar.ISO)
  • Converting a Date to Jalaali
  date_in_any_calendar = Date.new(2017, 1, 1, Calendar.ISO)
  {:ok, jalaali_date} = Date.convert(date_in_any_calendar, Jalaali.Calendar)
  • Converting a Date from Jalaali
  {:ok, jalaali_date} = Date.new(1396, 6, 30, Jalaali.Calendar)
  {:ok, iso_date} = Date.convert(jalaali_date, Calendar.ISO)

Thats super easy. :)

License

This project is license under MIT.

For more information please check LICENSE