Skip to main content

convert between gregorian and solar hijri calendars

Project description

A very lightweight package that provides functions to convert between Gregorian and Solar Hijri calendars. Solar Hijri is the official calendar being used in Iran.

Installation

Requires Python 3.12+

pip install gshconverter

Usage

The main functions are:

  • solar_hijri_to_gregorian(sh_year: int, sh_month: int, sh_day: int) -> tuple[int, int, int]

  • gregorian_to_solar_hijri(g_year: int, g_month: int, g_day: int) -> tuple[int, int, int]

  • is_g_leap(year: int) -> bool

  • is_sh_leap(year: int) -> bool

Example:

>>> from gshconverter import *
>>> is_sh_leap(1403)
True
>>> solar_hijri_to_gregorian(1403, 12, 30)
(2025, 3, 20)
>>> gregorian_to_solar_hijri(2025, 3, 20)
(1403, 12, 30)

Notes

This library currently assumes 33-year cycles which means it will get inaccurate for dates too far in the future (the first known incorrect year is 1502 SH) or too far in the past (the results are known to be correct at least until 1210 SH according to University of Tehran astronomical calculation).

The output of converter functions are the same as the ones in FarsiWeb’s jalali.c , but gshconverter uses a different algorithm and is written from scratch. It also is faster than the current Python implementation used in jdatetime library .

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gshconverter-0.1.0.tar.gz (14.9 kB view hashes)

Uploaded Source

Built Distribution

gshconverter-0.1.0-py3-none-any.whl (2.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page