Popularity
4.8
Declining
Activity
0.0
Stable
10
3
1

Monthly Downloads: 14
Programming language: Haskell
License: MIT License
Tags: Math     Time    
Latest version: v0.2.0

jalaali alternatives and similar packages

Based on the "Math" category.
Alternatively, view jalaali alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of jalaali or a related project?

Add another 'Math' Package

README

Jalaali Haskell

A few Haskell functions for converting Jalaali (Jalali, Persian, Khayyami, Khorshidi, Shamsi) and Gregorian calendar systems to each other.

About

Jalali calendar is a solar calendar that was used in Persia, variants of which today are still in use in Iran as well as Afghanistan. Read more on Wikipedia or see Calendar Converter.

Calendar conversion is based on the algorithm provided by Kazimierz M. Borkowski and has a very good performance.

API

Types

type JalaaliYear = Int
type JalaaliMonth = Int
type JalaaliDay = Int
type GregorianYear = Int
type GregorianMonth = Int
type GregorianDay = Int
type JulianDayNumber = Int
type DayInMarch = Int
type LeapOffset = Int
type JalaaliDate = (JalaaliYear, JalaaliMonth, JalaaliDay)
type GregorianDate = (GregorianYear, GregorianMonth, GregorianDay)

Functions

toJalaali

Converts a Gregorian date to Jalaali.

toJalaali :: GregorianYear -> GregorianMonth -> GregorianDay -> JalaaliDate

toGregorian

Converts a Jalaali date to Gregorian.

toGregorian :: JalaaliYear -> JalaaliMonth -> JalaaliDay -> GregorianDate

isValidJalaaliDate

Checkes whether a Jalaali date is valid or not.

isValidJalaaliDate :: JalaaliYear -> JalaaliMonth -> JalaaliDay -> Bool

isJalaaliLeapYear

Checks whether a Jalaali year is leap or not.

isJalaaliLeapYear :: JalaaliYear -> Bool

jalaaliMonthLength

Returns the number of days in a Jalaali year and month.

jalaaliMonthLength :: JalaaliYear -> JalaaliMonth -> Int

jalCal

Determines if a Jalaali year is leap or common, and finds the day in March of the first day of the Jalaali year.

jalCal :: JalaaliYear -> (LeapOffset, GregorianYear, DayInMarch)

j2d

Converts a Jalaali date to Julian Day number.

j2d :: JalaaliYear -> JalaaliMonth -> JalaaliDay -> JulianDayNumber

d2j

Converts a Julian Day number to a Jalaali date.

d2j :: JulianDayNumber -> JalaaliDate

g2d

Converts a Gregorian date to Julian Day number.

g2d :: GregorianYear -> GregorianMonth -> GregorianDay -> JulianDayNumber

d2g

Converts a Julian Day number to a Gregorian date.

d2g :: JulianDayNumber -> GregorianDate

License

MIT


*Note that all licence references and agreements mentioned in the jalaali README section above are relevant to that project's source code only.