lunar是一款无第三方依赖的公历 python调用

lunar是一款无第三方依赖的公历(阳历)、农历(阴历、老黄历)、佛历和道历工具,支持星座、儒略日、干支、生肖、节气、节日、彭祖百忌、吉神(喜神/福神/财神/阳贵神/阴贵神)方位、胎神方位、冲煞、纳音、星宿、八字、五行、十神、建除十二值星、青龙名堂等十二神、黄道日及吉凶、法定节假日及调休等。

# -*- coding: utf-8 -*-
from lunar_python import Lunar, Solar
from lunar_python.util import HolidayUtil
from datetime import datetime# 节气表
print('节气表')
lunar = Solar.fromYmd(2025, 1, 1).getLunar()
jieQi = lunar.getJieQiTable()
for k in lunar.getJieQiList():print(k + ' = ' + jieQi[k].toYmdHms())
print('')
# 月相
#print(lunar.getMonthZhiGong())
# 八字
print('八字')
baZi = lunar.getEightChar()
print(baZi.getYear() + ' ' + baZi.getMonth() + ' ' + baZi.getDay() + ' ' + baZi.getTime())# 八字五行
print('八字五行')
print(baZi.getYearWuXing() + ' ' + baZi.getMonthWuXing() + ' ' + baZi.getDayWuXing() + ' ' + baZi.getTimeWuXing())# 八字天干十神
print('八字天干十神')
print(baZi.getYearShiShenGan() + ' ' + baZi.getMonthShiShenGan() + ' ' + baZi.getDayShiShenGan() + ' ' + baZi.getTimeShiShenGan())# 八字地支十神
print('八字地支十神')
print(baZi.getYearShiShenZhi()[0] + ' ' + baZi.getMonthShiShenZhi()[0] + ' ' + baZi.getDayShiShenZhi()[0] + ' ' + baZi.getTimeShiShenZhi()[0])# 遍历八字年支十神
print('八字天干十神')
for v in baZi.getYearShiShenZhi():print(v)
print('')# 遍历八字月支十神
print
for v in baZi.getMonthShiShenZhi():print(v)
print('')# 遍历八字日支十神
print('八字日支十神')
for v in baZi.getDayShiShenZhi():print(v)
print('')# 遍历八字时支十神
for v in baZi.getTimeShiShenZhi():print(v)
print('')solar = Solar(1988, 2, 15, 23, 30, 0)
lunar = solar.getLunar()
baZi = lunar.getEightChar()
print(baZi.getYear() + ' ' + baZi.getMonth() + ' ' + baZi.getDay() + ' ' + baZi.getTime())solar = Solar(1983, 2, 15, 20, 0, 0)
lunar = solar.getLunar()
baZi = lunar.getEightChar()# 女运
print('女运')
yun = baZi.getYun(0)
print('阳历' + solar.toYmdHms() + '出生')
print('出生' + str(yun.getStartYear()) + '年' + str(yun.getStartMonth()) + '个月' + str(yun.getStartDay()) + '天后起运')
print('阳历' + yun.getStartSolar().toYmd() + '后起运')
print('')# 大运
print('大运')
daYunArr = yun.getDaYun()
for i in range(0, len(daYunArr)):daYun = daYunArr[i]print('大运[' + str(i) + '] ' + str(daYun.getStartYear()) + '年 ' + str(daYun.getStartAge()) + '岁 ' + daYun.getGanZhi())
print('')# 大运[0] 流年
print('大运[0] 流年')
liuNianArr = daYunArr[0].getLiuNian()
for i in range(0, len(liuNianArr)):liuNian = liuNianArr[i]print('流年[' + str(i) + '] ' + str(liuNian.getYear()) + '年 ' + str(liuNian.getAge()) + '岁 ' + liuNian.getGanZhi())
print('')# 大运[0] 小运
print('大运[0] 小运')
xiaoYunArr = daYunArr[0].getXiaoYun()
for i in range(0, len(xiaoYunArr)):xiaoYun = xiaoYunArr[i]print('小运[' + str(i) + '] ' + str(xiaoYun.getYear()) + '年 ' + str(xiaoYun.getAge()) + '岁 ' + xiaoYun.getGanZhi())
print('')# 流年[0] 流月
print('流年[0] 流月')
liuYueArr = liuNianArr[0].getLiuYue()
for i in range(0, len(liuYueArr)):liuYue = liuYueArr[i]print('流月[' + str(i) + '] ' + str(liuYue.getMonthInChinese()) + '月 ' + liuYue.getGanZhi())
print('')# 通过指定年月日初始化阴历
print
lunar = Lunar.fromYmd(1986, 4, 21)# 打印阴历
print("打印阴历")
print(lunar.toFullString())# 阴历转阳历并打印
print("阴历转阳历并打印")
print(lunar.getSolar().toFullString())# 节假日信息
print("节假日信息")
print(HolidayUtil.getHoliday('2020-05-02'))# 儒略日
print("儒略日")
solar = Solar.fromYmd(2020, 7, 15)
print(solar.getJulianDay())solar = Solar.fromJulianDay(2459045.5)
print(solar.toYmdHms())
print('')# 八字转阳历
print("八字转阳历")
for d in Solar.fromBaZi("庚子", "戊子", "己卯", "庚午"):print(d.toFullString())date = Solar.fromYmd(2020, 1, 23)
print("2020-01-24" == date.next(1).toString())
# 仅工作日,跨越春节假期
print(" 仅工作日,跨越春节假期")
print("2020-02-03" == date.next(1, True).toString())date = Solar.fromYmd(2020, 2, 3)
print("2020-01-31" == date.next(-3).toString())
# 仅工作日,跨越春节假期
print("仅工作日,跨越春节假期")
print("2020-01-21" == date.next(-3, True).toString())date = Solar.fromYmd(2020, 2, 9)
print("2020-02-15" == date.next(6).toString())
# 仅工作日,跨越周末
print("仅工作日,跨越周末")
print("2020-02-17" == date.next(6, True).toString())date = Solar.fromYmd(2020, 1, 17)
print("2020-01-18" == date.next(1).toString())
# 仅工作日,周日调休按上班算
print("仅工作日,周日调休按上班算")
print("2020-01-19" == date.next(1, True).toString())print("2020-01-01 元旦节 2020-01-01" == HolidayUtil.getHoliday("2020-01-01").toString())# 将2020-01-01修改为春节
print("将2020-01-01修改为春节")
HolidayUtil.fix(None, "202001011120200101")
print("2020-01-01 春节 2020-01-01" == HolidayUtil.getHoliday("2020-01-01").toString())# 追加2099-01-01为元旦节
print("追加2099-01-01为元旦节")
HolidayUtil.fix(None, "209901010120990101")
print("2099-01-01 元旦节 2099-01-01" == HolidayUtil.getHoliday("2099-01-01").toString())# 将2020-01-01修改为春节,并追加2099-01-01为元旦节
print("将2020-01-01修改为春节,并追加2099-01-01为元旦节")
HolidayUtil.fix(None, "202001011120200101209901010120990101")
print("2020-01-01 春节 2020-01-01" == HolidayUtil.getHoliday("2020-01-01").toString())
print("2099-01-01 元旦节 2099-01-01" == HolidayUtil.getHoliday("2099-01-01").toString())# 更改节假日名称
print("更改节假日名称")
names = []
for i in range(0, len(HolidayUtil.NAMES)):names.append(HolidayUtil.NAMES[i])
names[0] = "元旦"
names[1] = "大年初一"HolidayUtil.fix(names, None)
print("2020-01-01 大年初一 2020-01-01" == HolidayUtil.getHoliday("2020-01-01").toString())
print("2099-01-01 元旦 2099-01-01" == HolidayUtil.getHoliday("2099-01-01").toString())# 追加节假日名称和数据
print("追加节假日名称和数据")
names = []
for i in range(0, len(HolidayUtil.NAMES)):names.append(HolidayUtil.NAMES[i])
names.append("我的生日")
names.append("结婚纪念日")
names.append("她的生日")HolidayUtil.fix(names, "20210529912021052920211111:12021111120211201;120211201")
print("2021-05-29 我的生日 2021-05-29" == HolidayUtil.getHoliday("2021-05-29").toString())
print("2021-11-11 结婚纪念日 2021-11-11" == HolidayUtil.getHoliday("2021-11-11").toString())
print("2021-12-01 她的生日 2021-12-01" == HolidayUtil.getHoliday("2021-12-01").toString())# 节日
print("节日")
solar = Solar.fromYmd(2020, 11, 26)
festivals = solar.getFestivals()
for i in range(0, len(festivals)):print(festivals[i])solar = Solar.fromYmd(2020, 6, 21)
festivals = solar.getFestivals()
for i in range(0, len(festivals)):print(festivals[i])solar = Solar.fromYmd(2021, 5, 9)
festivals = solar.getFestivals()
for i in range(0, len(festivals)):print(festivals[i])solar = Solar.fromYmd(1986, 11, 27)
festivals = solar.getFestivals()
for i in range(0, len(festivals)):print(festivals[i])solar = Solar.fromYmd(1985, 6, 16)
festivals = solar.getFestivals()
for i in range(0, len(festivals)):print(festivals[i])solar = Solar.fromYmd(1984, 5, 13)
festivals = solar.getFestivals()
for i in range(0, len(festivals)):print(festivals[i])# 旬
print("旬")
solar = Solar.fromYmdHms(2020, 11, 19, 0, 0, 0)
lunar = solar.getLunar()
# 甲午
print("甲午")
print(lunar.getYearXun())# 旬空(空亡)
print("旬空(空亡)")
# 辰巳
print("辰巳")
print(lunar.getYearXunKong())
# 午未
print("午未")
print(lunar.getMonthXunKong())
# 戌亥
print("戌亥")
print(lunar.getDayXunKong())# 八字日柱旬空(空亡)
print("八字日柱旬空(空亡)")
solar = Solar.fromYmdHms(1990, 12, 23, 8, 37, 0)
lunar = solar.getLunar()
eightChar = lunar.getEightChar()
# 子丑
print("子丑")
print(eightChar.getDayXunKong())# 数九
print("数九")
lunar = Lunar.fromDate(datetime.now())
print(lunar.getShuJiu())# 三伏
print("三伏")
solar = Solar.fromYmd(2020, 8, 24)
lunar = solar.getLunar()
print(lunar.getFu().toFullString())# 六曜
print("六曜")
lunar = Lunar.fromDate(datetime.now())
print(lunar.getLiuYao())# 物候
print("物候")
print(lunar.getWuHou())# 日九星
print("日九星")
print(lunar.getDayNineStar())# 年太岁
print("年太岁")
print(lunar.getYearPositionTaiSui())
print(lunar.getYearPositionTaiSuiDesc())# 月太岁
print("月太岁")
print(lunar.getMonthPositionTaiSui())
print(lunar.getMonthPositionTaiSuiDesc())# 日太岁
print("日太岁")
print(lunar.getDayPositionTaiSui())
print(lunar.getDayPositionTaiSuiDesc())times = lunar.getTimes()
for i in range(0, len(times)):time = times[i]print("%s - %s : %s" % (time.getMinHm(), time.getMaxHm(), time.toString()))

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/36936.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Axure高保真原型】增删改饼图

今天和大家分享能增删改的饼图的原型模版,该模版是用Axure原生元件制作的,所以不需要联网或者调用外部接口,使用也很方便,默认数据在中继器表格里填写,默认支持20个不同颜色的扇形,后续可根据实际需要自己增…

WordPress系统获取webshell的攻略

一.后台修改模板拿WebShell 1.进入Vulhub靶场并执⾏以下命令开启靶场;在浏览器中访问并安装好 #执⾏命令 cd /vulhub/wordpress/pwnscriptum docker-compose up -d 2. 修改其WP的模板,登陆WP后点击 【外 观】 --》 【编辑】 --》 404.php 3.插入一句话木…

Java反序列化CommonsBeanutils无依赖打Shiro

说明 如果您之前未了解过 Commons Collections(CC)利用链,建议您先阅读相关基础文章,然后再回头阅读此文章。这样可以更好地理解其中的内容 Java反序列化-Commons Collections3利用链分析详解 Java反序列化-Commons Collections…

用curl和python通过网络测试Ollama服务器的配置和状态

当一个Ollama服务器创建好后,除了用ollama指令来测试,还可以使用curl和python来通过网络测试Ollama的配置是否正确,远程是否能正常连上并与服务器进行交互。 目录 启动Ollama服务器 下载模型 curl测试 检查服务器状态 列出已安装的模型…

蓝桥杯青少组stema2025年3月9日scratch初级组真题——转动的图形

完整题目可查看: 转动的图形_scratch_少儿编程题库学习中心-嗨信奥https://www.hixinao.com/tiku/scratch/show-5106.html?_shareid3 程序演示可查看: 转动的图形-scratch作品-少儿编程题库学习中心-嗨信奥https://www.hixinao.com/scratch/creation…

杰理科技JL703N双模蓝牙芯片—云信

杰理科技JL703N芯片运算能力、接收灵敏度、发射功率、音频性能等指标均处于行业一流水平,能满足多场景的应用需求,具有以下明显优势: 一、高性能双核浮点CPU,算力十足 JL703N芯片搭载了32位高性能双核CPU,主频高达32…

Asp.net Core API 本地化

本文是一个demo,演示了如何根据用户接口查询字段(正常放header中),设置当前culture,并获取当前culture的key value给用户提示 创建Resources文件夹,添加以下三个文件 其中ExceptionUnuse 是一个空的类,供IStringLocalizer使用&a…

工业相机选型

工业相机选型 一、工业相机分类二、相机的主要参数2.1 分辨率2.2 速度2.3 光学接口 / 接口类型2.4 相机靶面尺寸2.5 像元尺寸2.6 精度 三、镜头介绍及选型方法3.1 工作距离(WD)3.2 视场角(FOV)3.3 (镜头)靶面尺寸3.4 帧率3.5 光圈…

eFish-SBC-RK3576 工业相机(IMX系列)方案设计

一、核心硬件架构 1. ‌图像传感器配置‌ ‌IMX系列选型‌: IMX678(1/1.8" CMOS,2000万像素,全局快门,HDR 120dB)IMX541(2/3" CMOS,1200万像素,12bit ADC&…

网络华为HCIA+HCIP 广域网技术

目录 PPP协议 PPP链路建立流程 PPP链路接口状态机 LCP报文格式 LCP协商过程-正常协商 LCP协商过程-参数不匹配(MRU) LCP协商过程-参数不识别 PPP认证模式 - PAP PPP认证模式 - CHAP NCP协商 - 静态IP地址协商 NCP协商 - 动态IP地址协商 P…

B站pwn教程笔记-5

复习和回顾 首先复习一下ELF文件在内存和磁盘中的不同。内存只关注读写这权限,会合并一些代码段。 动态链接库只在内存中单独装在一份 因为很多软件都要用动态链接库了,不可能一个个单独复制一份。但是在有的调试环境下会单独显示出来各一份。 ld.so是装…

Vue Router 的核心实现原理是什么?

文章目录 一、路由模式实现原理1. Hash 模式2. History 模式 二、响应式路由系统1. 路由对象响应化2. 路由映射解析 三、组件渲染机制1. RouterView 实现2. 路由匹配流程 四、导航守卫系统1. 守卫执行流程2. 守卫类型对比 五、核心源码结构六、设计亮点分析七、性能优化策略总结…

CherryStudio + 火山引擎DeepSeek R1 告别服务器繁忙

CherryStudio 火山引擎DeepSeek R1 告别服务器繁忙 一、下载CherryStudio并安装 CherryStudio是功能强大的多模型桌面客户端,支持Windows、macOS和Linux系统。集成了多种主流的大语言模型(如OpenAI、DeepSeek、Gemini等)以及本地模型运行功…

Hessian 矩阵是什么

Hessian 矩阵是什么 目录 Hessian 矩阵是什么Hessian 矩阵的性质及举例说明**1. 对称性****2. 正定性决定极值类型****特征值为 2(正),因此原点 ( 0 , 0 ) (0, 0) (0,0) 是极小值点。****3. 牛顿法中的应用****4. 特征值与曲率方向****5. 机器学习中的实际意义**一、定义与…

C#从入门到精通(1)

目录 第一章 C#与VS介绍 第二章 第一个C#程序 (1)C#程序基本组成 1.命名空间 2.类 3.Main方法 4.注释 5.语句 6.标识符及关键字 (2)程序编写规范 1.代码编写规则 2.程序命名方法 3.元素命名规范 第三章 变量 &…

【LINUX操作系统】 动静态库的链接原理

初识linux(16) 动静态库(手搓动静态库!)-CSDN博客 完成了对动静态库使用的学习,现在浅显理解下动态库加载的原理。 1. 宏观认知 磁盘中的应用程序main和动态库libmystdio.so先加载到内存中 加载到内存后&am…

广东启动“跨境电商+产业带”系列活动 三年打造30个产业振兴样板

大湾区经济网湾区财经快讯,近日,2025年广东省“跨境电商+产业带”助力“百千万工程”系列活动在中山市古镇镇启动。作为外贸领域新质生产力的重要载体,跨境电商将通过赋能县域特色产业带转型升级,为城乡融合与乡村振兴…

穿透递归的本质:从无限梦境到可控魔法的蜕变之路

穿透递归的本质:从无限梦境到可控魔法的蜕变之路(C实现) 一、递归:程序员的盗梦空间 在计算机科学的宇宙中,递归是最接近魔法本质的编程范式。它像一面镜子中的镜子,引导我们通过自我相似性破解复杂问题。…

基于django+vue的购物商城系统

开发语言:Python框架:djangoPython版本:python3.8数据库:mysql 5.7数据库工具:Navicat11开发软件:PyCharm 系统展示 系统首页 热卖商品 优惠资讯 个人中心 后台登录 管理员功能界面 用户管理 商品分类管理…

WordPress靶场攻略

后台修改模板 修改404.php为一句话木马 访问404.php,验证有没有成功 http://47.122.51.245:8080/wp-content/themes/twentyfifteen/404.php?cmdphpinfo(); 上传主题 创建6.php,写入图中代码 自己随便下载一个主题包,将1.php和主题包压缩在一起,提交上…