有没有 python3 可用的农历转公历的包?

2017-01-06 19:11:26 +08:00
 princelai

我想写个小脚本,内容是把一年中是周末且周末是在新月那几天(农历 27-3 日),但是现在找不到公历转农历的包,之前的工作如下:

#生成一个一年的日历

df = pd.DataFrame(pd.date_range(start='2017-01-01',end='2017-12-31'),columns=['公历'])

df = df.set_index(keys='公历')

#找出所有周末

df['星期几'] = df.index.weekday + 1

Sat = df['星期几'] == 6

Sun = df['星期几'] == 7

#找出国庆节,别的节太短或者和周末都挨着

National_Day = df['2017-10-01':'2017-10-07']

new_df = pd.concat([df[Sat | Sun],National_Day])

df2 = df.ix[new_df.sort_index().index.drop_duplicates()]

下一步就该找出这个日历的农历了,有没有人教教我怎么做?

pypi 上有个 lunarsolarcovter 是 py2 用的,我用不了

4064 次点击
所在节点    Python
5 条回复
billlee
2017-01-06 20:22:45 +08:00
LunarSolarConverter 就 200 行代码,你自己改一下不就完了
imn1
2017-01-06 21:10:33 +08:00
标题是农转公,正文是公转农,要哪个?


!/usr/bin/env python3
# -*- coding: utf-8 -*-

# lunar.py
# 2015/02/27 罗兵

google 这个能找到
princelai
2017-01-06 21:16:26 +08:00
@imn1 公转农, github 搜到了,谢谢
princelai
2017-01-06 21:27:11 +08:00
@billlee 之前只想着从 pypi 下载,没仔细看他内容,我以为会有别的时间包也能实现呢
lifulinghan
2018-08-09 10:09:32 +08:00
有啊,你可以试一下 sxtwl,pip install sxtwl

import sxtwl

#日历中文索引
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"卅一"]


lunar = sxtwl.Lunar() #实例化日历库

#阴历转阳历
day = lunar.getDayByLunar(2030, 3, 27 , False)

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"日"

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/332756

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX