sxtwl_cpp是寿星天文历的C++版本实现。支持多种语言的绑定。

安装方法

pip install sxtwl

windows下的二进制安装包: 传送门

# -*- coding:utf-8 -*-

import sxtwl

import sys

type = sys.getfilesystemencoding()

Gan = ["甲", "乙", "丙", "丁", "戊", "己", "庚", "辛", "壬", "癸"]

Zhi = ["子", "丑", "寅", "卯", "辰", "巳", "午", "未", "申", "酉", "戌", "亥"]

ShX = ["鼠", "牛", "虎", "兔", "龙", "蛇", "马", "羊", "猴", "鸡", "狗", "猪"]

numCn = ["零", "一", "二", "三", "四", "五", "六", "七", "八", "九", "十"]

Week = ["日", "一", "二", "三", "四", "五", "六"]

jqmc = ["冬至", "小寒", "大寒", "立春", "雨水", "惊蛰", "春分", "清明", "谷雨", "立夏", "小满", "芒种", "夏至", "小暑", "大暑", "立秋", "处暑","白露", "秋分", "寒露", "霜降", "立冬", "小雪", "大雪"]

ymc = ["十一", "十二", "正", "二", "三", "四", "五", "六", "七", "八", "九", "十" ]

rmc = ["初一", "初二", "初三", "初四", "初五", "初六", "初七", "初八", "初九", "初十", "十一", "十二", "十三", "十四", "十五", "十六", "十七", "十八", "十九", "二十", "廿一", "廿二", "廿三", "廿四", "廿五", "廿六", "廿七", "廿八", "廿九", "三十", "卅一"]

#打印做一个中间转换

def log(*arg):

s = ""

for v in arg:

s += str(v)

print(s.decode('UTF-8').encode(type))

def printDay(day):

log("===================================================")

log("公历:", day.y, "年", day.m, "月", day.d, "日")

if day.Lleap:

log("润",(day.Lyear0 + 1984), "年", ymc[day.Lmc], "月", rmc[day.Ldi], "日")

else:

log((day.Lyear0 + 1984), "年",ymc[day.Lmc], "月", rmc[day.Ldi], "日")

if (day.qk >= 0):

log("当日节气:" + jqmc[day.jqmc])

log("节气时间:" + day.jqsj)

log("儒略日:JD", sxtwl.J2000 + day.d0)

log("星期", Week[day.week])

log(Gan[day.Lyear2.tg], Zhi[day.Lyear2.dz], "年", Gan[day.Lmonth2.tg], Zhi[day.Lmonth2.dz], "月",\

Gan[day.Lday2.tg], Zhi[day.Lday2.dz], "日")

log("距冬至", day.cur_dz, "天")

log("距夏至", day.cur_xz, "天")

log("距立秋", day.cur_lq, "天")

log("距芒种", day.cur_mz, "天")

log("距小暑", day.cur_xs, "天")

lunar = sxtwl.Lunar();

#查询月历

month = lunar.yueLiCalc(2017, 12)

log(month.y, "年", month.m, "月")

log(Gan[month.yearGan], Zhi[month.yearZhi], "年")

log("生肖:", ShX[month.ShX])

days = month.days

for day in days:

printDay(day)

#获取某个阳历日的信息(可在信息中查询到阴历,天干等)

day = lunar.getDayBySolar(2018, 10, 1)

printDay(day)

#获取某个阴历日的信息(可在信息中查询到阳历,天干等)

day2 = lunar.getDayByLunar(2018, 10, 1)

printDay(day2)

#获取时辰上的那个天干(例如拿下午13点的时辰干支)

gz = lunar.getShiGz(day.Lday2.tg, 13);

log("获取时辰的干支:" + Gan[gz.tg] + Zhi[gz.dz]);

log("===================================================")

#获取一年的信息(干支,生肖,)

year = lunar.getYearCal(2018);

log("获取年的干支:" + Gan[year.yearGan] + Zhi[year.yearZhi]);

log("获取年的生肖:" + ShX[year.ShX]);

更加详细的使用方法请参考:

微信讨论

python日历库_python下的一个好用的日历库,支持农历转公历,和公历转农历等功能...相关推荐

  1. python日历函数_python 怎么定义一个函数,输出日历

    展开全部 import re def command_add(date, event_details, calendar): ''' Add event_details to the list at ...

  2. 【golang音频库】发现了一个特别棒的音频库,beep,使用docker方式驱动设备,可以使用golang进行控制音频设备,播放音乐。

    目录 前言 1,关于beep和alsa库 2,使用需要pkg-config和alsa库 3,总结 前言 本文的原文连接是: https://blog.csdn.net/freewebsys/artic ...

  3. linux c语言静态库,linux下的C语言开发(静态库/动态库)

    今天我们讨论的问题是静态库.为了显示windows和Linux创建静态库之间的差别,我们首先在windows上面利用Visual C++6.0创建一个静态库.源文件的代码很简单, #include & ...

  4. python下的一个好用的日历库,支持农历和公历互转,四柱反查等功能

    一般的日历库是顶多支持1800年到2200年,但是sxtwl支持BC722到9999年之间的所有日期. 如果有需要做古人八字,祖先八字.考古日历参考, 古代的农历阳历转换 这些需要的,强烈推荐.下面是 ...

  5. C#下的一个好用的日历库(sxtwl_cpp),支持农历转公历,和公历转农历等功能

    2019独角兽企业重金招聘Python工程师标准>>> sxtwl_cpp是寿星天文历的C++版本实现.支持多种语言的绑定 代码首页 懒人包 懒人包使用方法 1.右链工程中的引用-& ...

  6. python单核运行_python下多核,单核CPU对于并行,并发执行效率的对比-Go语言中文社区...

    ** ** 这篇博客主要内容为python 中多线程以及多进程的效率对比,以及记录自己在做这个实验中遇到的一些问题以及心得 背景引入: CPU制造商为了追求CPU效率放弃了在CPU频率上的追求(CPU ...

  7. python box2d 教程_python下的Box2d物理引擎的配置

    I come back! 由于已经大四了,正在找工作 导致了至今以来第二长的时间内没有更新博客.向大家表示道歉 前言 Box2d物理引擎 Box2d是一款开源的2d物理引擎,存在很多的版本,C++,J ...

  8. python 常用库_Python程序员解决棘手问题的常用库

    无论做为Python大牛,还是一个Python菜鸟,在编程的道路上都会遇到诸多种很棘手的问题.如下介绍的内个库是Python诸多问题解决中,最常用到的.希望这些Python的库可以帮您快速解决遇到的棘 ...

  9. python dataframe 中位数_python下的Pandas中DataFrame基本操作(一),基本函数整理

    pandas作者Wes McKinney 在[PYTHON FOR DATA ANALYSIS]中对pandas的方方面面都有了一个权威简明的入门级的介绍,但在实际使用过程中,我发现书中的内容还只是冰 ...

最新文章

  1. 2019年最新十篇「深度学习领域综述」论文
  2. C# 创建Word项目标号列表、多级编号列表
  3. 英语影视台词---六、Saving Private Ryan Quotes
  4. 先进的NumPy数据科学
  5. java细粒度锁_Java细粒度锁实现的3种方式
  6. 【Java】四种方法复制视频文件比较
  7. 在 2017 年将会更加流行的 6 个 Web 开发趋势
  8. .NET深入 c#数据类型2
  9. TensorFlow使用--MNIST分类学习(BP神经网络)
  10. 基于matlab的小波去噪方法研究,基于matlab的小波去噪分析毕业论文.doc
  11. 机器学习| 面试题:11、LDA算法原理
  12. udp数据包大小问题
  13. 斯坦福大学乔布斯演讲之后的感悟
  14. android 查看 屏幕刷新率,屏幕刷新率检查app
  15. leetcode 413. 等差数列划分
  16. SQLSERVER时间转换成字符串,去掉中划线
  17. PTC creo 3.0 安装教程
  18. 块、内联、内联块都有哪些及其特点
  19. 百度实习转正学长面经-Java常见面试题目和解答,值得收藏
  20. Reshaper介绍

热门文章

  1. python 用题库自动答题器_python实现自动刷题
  2. Android音乐播放器制作(二 )点击歌曲实现播放
  3. OleDbDataAdapter与OleDbDataReader方式读取EXCEL并转换为DataTable
  4. dogpile搜索引擎
  5. 如何用 CSS 和 D3 创作一个用文字组成的心形图案
  6. linux epel,Linux增加epel源的方法
  7. 高校宿舍预付费用电管理平台
  8. 多进程、多线程同步(通讯)的方法
  9. 搭建exchange邮件服务器一定要ad域么?_邮件伪造之SPF绕过的5种思路
  10. TypeScript declare