常见的日历转换器
Project description
pyUnit_calendar
这是一个阳历转化农历的程序(注意该模块严重依赖时间,所以系统中的时间和时区必须是:中国北京时间和中国时区)
介绍
Python版阳历转农历
安装
pip install pyunit-calendar
如果阳历和农历相互转换推荐使用
from pyunit_calendar import LunarDate,LunarSolarDateConverter,SolarDate
if __name__ == "__main__":
"""测试简单快速的农历和阳历互转"""
converter = LunarSolarDateConverter()
lunar = converter.solar_to_lunar(SolarDate(2019, 12, 6))
print(lunar)
# {"isleap": False, "lunarDay": 11, "lunarMonth": 11, "lunarYear": 2019}
solar = converter.lunar_to_solar(LunarDate(2019, 11, 10))
print(solar)
# {"solarDay": 5, "solarMonth": 12, "solarYear": 2019}
如果只有阳历转农历推荐使用
from pyunit_calendar import SC
if __name__ == "__main__":
lun = SC(year=2018, month=1, day=2) #阳历转农历
print(lun.y) # 农历的年,中文字符 二零一九
print(lun.year) # 农历的年,阿拉伯数字 2019
print(lun.m) # 农历的月份 中文字符 七
print(lun.month) # 农历的月份 阿拉伯字符 7
print(lun.d) # 农历的日期 中文字符 十四
print(lun.day) # 阳历的日期 阿拉伯数字 15 ,注意。和农历不一样
print(lun.w) # 星期几 中文字符
print(lun.week) # 星期几、英文字符
print(lun.h) # 节日
print(lun) # 二零一九年 七月 十四 星期四 无
如果只有农历转阳历推荐使用
from pyunit_calendar import CTC
if __name__ == "__main__":
c = CTC(ctc_year=2017, ctc_mon=-6, ctc_day=8) # 农历的日期2017年闰6月初八
print(c.find_sc()) # 阳历:2017年7月30日
print(c.get_year()) # 2017
print(c.get_month()) # 7
print(c.get_day()) # 30
天干地支转日历(转阳历和农历)
from pyunit_calendar import BatchCalendar
if __name__ == "__main__":
bc=BatchCalendar() #下载数据
print("-----------------------------")
# 农历
print(bc.ctc_to_sc("1984年闰十月初三")) # 农历转阳历 1984年11月25日
print(bc.ctc_to_td("1984年闰十月初三")) # 农历转天干地支 甲子年乙亥月癸亥日
print("-----------------------------")
# 阳历
print(bc.sc_to_ctc("1984年11月25日")) # 阳历转农历 1984年闰十月初三
print(bc.sc_to_td("1984年11月25日")) # 阳历转天干地支 甲子年乙亥月癸亥日
print("-----------------------------")
# 天干地支
print(bc.td_to_ctc("甲子年乙亥月癸亥日")) # 天干地支转农历:["1984年闰十月初三", "2044年九月廿一"]
print(bc.td_to_sc("甲子年乙亥月癸亥日")) # 天干地支转阳历:["1984年11月25日", "2044年11月10日"]
Docker安装(注意该模块严重依赖时间,所以系统中的时间和时区必须是:中国北京时间和中国时区)
docker pull pyunit-calendar
docker run -P -v /etc/timezone:/etc/timezone -v /etc/localtime:/etc/localtime -d pyunit-calendar
农历转阳历
参数名 | 类型 | 是否可以为空 | 说明 |
---|---|---|---|
year | int | YES | 输入阿拉伯数字的年 |
month | int | YES | 输入阿拉伯数字的月(如果是闰月前面添加负号:如-4表示闰4月) |
day | int | YES | 输入阿拉伯数字的日 |
请求示例
Python3 Requests测试
import requests
url = "http://127.0.0.1:32768/pyunit/calendar/LunarCalendar"
data = {
"year": 2020,
"month": -4,
"day": 11
}
headers = {"Content-Type": "application/x-www-form-urlencoded"}
response = requests.post(url, data=data, headers=headers).json()
print(response)
返回结果
{
"code": 200,
"result": {
"date": "2020年6月2日",
"day": "2",
"month": "6",
"year": "2020"
}
}
阳历转农历
参数名 | 类型 | 是否可以为空 | 说明 |
---|---|---|---|
year | int | YES | 输入阿拉伯数字的年 |
month | int | YES | 输入阿拉伯数字的月 |
day | int | YES | 输入阿拉伯数字的日 |
请求示例
Python3 Requests测试
import requests
url = "http://127.0.0.1:32768/pyunit/calendar/SolarCalendar"
data = {
"year": 2020,
"month": 6,
"day": 2
}
headers = {"Content-Type": "application/x-www-form-urlencoded"}
response = requests.post(url, data=data, headers=headers).json()
print(response)
返回结果
{
"code": 200,
"result": {
"date": "二零二零年 闰四月 十一 星期二 节日:无",
"day": "十一",
"holiday": "无",
"is_leap": "是",
"month": "闰四",
"week": "星期二",
"year": "二零二零"
}
}
天干地支和农历和阳历相互转日期
参数名 | 类型 | 是否可以为空 | 说明 |
---|---|---|---|
date | string | YES | 输入当前的日期:可以输入三种格式,具体看请求示例 |
请求示例
Python3 Requests测试
import requests
url = "http://127.0.0.1:32768/pyunit/calendar/BatchCalendar"
data = {
"date": '2020年四月十一', # 农历格式:阿拉伯数字+年+中文数字+月+中文数字
# "date": "2020年05月03日", # 农历格式:阿拉伯数字+年+阿拉伯数字+月+阿拉伯数字+日
# "date": "庚子年庚辰月丙午日", # 农历格式:天干地支+年+天干地支+月+天干地支+日
}
headers = {"Content-Type": "application/x-www-form-urlencoded"}
response = requests.post(url, data=data, headers=headers).json()
print(response)
返回结果
{
"code": 200,
"result": {
"HSTTB": "庚子年庚辰月丙午日",
"LunarCalendar": "2020年四月十一",
"SolarCalendar": "2020年05月03日"
}
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
File details
Details for the file pyunit_calendar-2020.6.2-py3-none-any.whl
.
File metadata
- Download URL: pyunit_calendar-2020.6.2-py3-none-any.whl
- Upload date:
- Size: 286.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 98aef529453797d86672ae9eb1692c9ee9625cc736a38d61d16fffb4513e7796 |
|
MD5 | 383a7b576ff2065e4e67548d991fdca3 |
|
BLAKE2b-256 | d2eb2239620af305e5276b535a5acea1cfb52b6c954c77cac0a2dc9205e88df6 |