Skip to main content

Python implementation of Asian lunisolar calendar

Project description

Transdate provides a lunardate class, which interface is compatible to a built-in datetime.date but supports additional methods for the Asian lunisolar calendar.

Interface summary:

  • lunardate.fromsolardate(date) class method and tosolardate() method converts a solar date to a lunar date and vice versa.

  • lunaryear, lunarmonth, lunarday properties are direct analogues to year, month, day.

  • lunerleap property returns True when the month is intercalary. For example, April 2012 was followed by intercalary April 2012, and then May 2012. Therefore this additional month will be marked via lunarleap property.

  • strftime method is extended to support %LY/%LC/%Ly/%Lm/%Ld/%Le/%Lj sequences, which are analogous to %Y/%C/%y/%m/%d/%e/%j sequences respectively.

The dataset is derived from Korea Astronomy and Space Science Institute, and covers from January 1881 to December 2050 (in the lunar date). Warning: Various Asian countries use slightly different rules to determine intercalary months, however, so these rules may diverge from each other. The first known date affected by this divergence is July 2033, and thereafter only the Korean rule applies.

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

transdate-1.1.1.tar.gz (17.5 kB view hashes)

Uploaded Source

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