A Chinese Calendar Library in Pure Python
Project Links
Meta
Author: LI Daobing
Classifiers
Development Status
- 4 - Beta
Programming Language
- Python
- Python :: 2
- Python :: 2.7
- Python :: 3
- Python :: 3.4
- Python :: 3.5
- Python :: 3.6
- Python :: 3.7
License
- OSI Approved :: GNU General Public License (GPL)
Operating System
- OS Independent
Topic
- Software Development :: Libraries :: Python Modules
Chinese Calendar: http://en.wikipedia.org/wiki/Chinese_calendar
Usage
>>> LunarDate.fromSolarDate(1976, 10, 1) LunarDate(1976, 8, 8, 1) >>> LunarDate(1976, 8, 8, 1).toSolarDate() datetime.date(1976, 10, 1) >>> LunarDate(1976, 8, 8, 1).year 1976 >>> LunarDate(1976, 8, 8, 1).month 8 >>> LunarDate(1976, 8, 8, 1).day 8 >>> LunarDate(1976, 8, 8, 1).isLeapMonth True>>> today = LunarDate.today() >>> type(today).__name__ 'LunarDate'>>> # support '+' and '-' between datetime.date and datetime.timedelta >>> ld = LunarDate(1976,8,8) >>> sd = datetime.date(2008,1,1) >>> td = datetime.timedelta(days=10) >>> ld-ld datetime.timedelta(0) >>> (ld-sd).days -11444 >>> ld-td LunarDate(1976, 7, 27, 0) >>> (sd-ld).days 11444 >>> ld+td LunarDate(1976, 8, 18, 0) >>> td+ld LunarDate(1976, 8, 18, 0) >>> ld2 = LunarDate.today() >>> ld < ld2 True >>> ld <= ld2 True >>> ld > ld2 False >>> ld >= ld2 False >>> ld == ld2 False >>> ld != ld2 True >>> ld == ld True >>> LunarDate.today() == LunarDate.today() True >>> before_leap_month = LunarDate.fromSolarDate(2088, 5, 17) >>> before_leap_month.year 2088 >>> before_leap_month.month 4 >>> before_leap_month.day 27 >>> before_leap_month.isLeapMonth False >>> leap_month = LunarDate.fromSolarDate(2088, 6, 17) >>> leap_month.year 2088 >>> leap_month.month 4 >>> leap_month.day 28 >>> leap_month.isLeapMonth True >>> after_leap_month = LunarDate.fromSolarDate(2088, 7, 17) >>> after_leap_month.year 2088 >>> after_leap_month.month 5 >>> after_leap_month.day 29 >>> after_leap_month.isLeapMonth False>>> LunarDate.leapMonthForYear(2023) 2 >>> LunarDate.leapMonthForYear(2022) None
Limits
this library can only deal with year from 1900 to 2099 (in chinese calendar).
See also
lunar: http://packages.qa.debian.org/l/lunar.html, A converter written in C, this program is derived from it.
python-lunar: http://code.google.com/p/liblunar/ Another library written in C, including a python binding.
0.2.2
Dec 07, 2023
0.2.1
Dec 03, 2023
0.2.0
Oct 07, 2018
0.1.5
Sep 09, 2014
0.1.4
Dec 03, 2008
0.1.3
Oct 06, 2008
0.1.2
Oct 05, 2008
0.1.1
Oct 05, 2008
0.1
Oct 02, 2008
Wheel compatibility matrix
Files in release
No dependencies