几行python代码搞定农历转阳历,阳历转农历的问题
关于这个问题,网上大部分的实现都是基于查表实现。所以查询范围非常有限。如果处理古人的生辰的信息(比如祖谱信息等)就变得非常棘手。最近发现有人实现了一套寿星天文历的C++版本(https://github.com/yuangu/sxtwl_cpp)。 并绑定到了众多脚本语言上。在pip上愉快的发现了python的绑定。非常开心的试了一下。
pip install sxtwl
#-*-coding:utf-8-*- import sxtwl lunar = sxtwl.Lunar() #实例化日历库 ymc = [u"十一", u"十二", u"正", u"二", u"三", u"四", u"五", u"六", u"七", u"八", u"九", u"十" ] rmc = [u"初一", u"初二", u"初三", u"初四", u"初五", u"初六", u"初七", u"初八", u"初九", u"初十", u"十一", u"十二", u"十三", u"十四", u"十五", u"十六", u"十七", u"十八", u"十九", u"二十", u"廿一", u"廿二", u"廿三", u"廿四", u"廿五", u"廿六", u"廿七", u"廿八", u"廿九", u"三十", u"卅一"] day = lunar.getDayByLunar(2030, 3, 27) #公元前的年可以用负数表示。比如公交前20年就用-20 print u"公历:", day.y, u"年", day.m, u"月", day.d, u"日" if day.Lleap: print u"阴历:润", ymc[day.Lmc], u"月", rmc[day.Ldi], u"日" else: print u"阴历:", ymc[day.Lmc], u"月", rmc[day.Ldi], u"日" #同理,阳历转阴历 day = lunar.getDayBySolar(2018, 10, 20) print u"公历:", day.y, u"年", day.m, u"月", day.d, u"日" if day.Lleap: print u"阴历:润", ymc[day.Lmc], u"月", rmc[day.Ldi], u"日" else: print u"阴历:", ymc[day.Lmc], u"月", rmc[day.Ldi], u"日"
只能说非常的精简。哈哈
更多的使用方法可以参考:https://pypi.org/project/sxtwl/
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
redis系列:通过共同好友案例学习set命令
前言 这一篇文章将讲述Redis中的set类型命令,同样也是通过demo来讲述,其他部分这里就不在赘述了。 项目Github地址:https://github.com/rainbowda/learnWay/tree/master/learnRedis/case-set 案例 demo功能是共同好友,整个demo的大致页面如下。左边是存储到Redis中的数据,右边是从Redis中弹出的数据。 准备工作 首先定义一个存储a、b好友的key private static final String A_FRIEND_KEY = "friend:a"; private static final String B_FRIEND_KEY = "friend:b"; redis操作对象 private RedisTemplate redisTemplate; //string 命令操作对象 private ValueOperations valueOperations; //set 命令操作对象 private SetOperations setOperations; set在Redis中的结构可以看...
- 下一篇
区块链开发公司谈区块链公有链的发展
区块链的诞生,标志着人类开始构建真正可以信任的互联网。区块链本质上是记录了所有交易或者数字事件的分布式数据库,也可以认为是一部公共账簿,可以由所有的参与方访问并且记录。 区块链能够在网络中建立点对点之间可靠的信任,使得价值传递过程去除中介的干扰,既公开信息又保护隐私,既共同决策又保护个体权益,内在的机制提高了价值交互的效率并降低了成本,具有广阔的应用前景。这项颠覆性的技术中蕴含着海量机会,由其引发的一场变革才刚拉开序幕。 随着区块链技术的演进,公有链的发展也逐步进入到目前的第三阶段: 第一代公有链:比T币,比T币被中本聪设计为一套点对点支付的电子货币系统,这套系统设计极为精简、安全性极高。然而,比T币的代码脚本不是图灵完备的,可扩展性较差,很多应用在其上面无法建立。比T币的出现掀开了区块链公链的大幕,其意义与影响是极其深远的。 第二代公有链:以太,以太被称为区块链领域中的“世界计算机”,是一个具备图灵完美脚本的公有链基础设施平台,其允许开发者自行开发各种智能合约,大大拓展了区块链的商业使用场景。目前,基于以太平台的去中心化应用已经很丰富。当然,以太也有自己的不足,比如扩展性较弱,安全性...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS关闭SELinux安全模块
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- SpringBoot2整合Redis,开启缓存,提高访问速度
- MySQL8.0.19开启GTID主从同步CentOS8
- Hadoop3单机部署,实现最简伪集群
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16