最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python+lunarcalendar庫實現(xiàn)使用農(nóng)歷日期

 更新時間:2024年11月03日 11:44:23   作者:仙草哥哥  
這篇文章主要為大家詳細介紹了python如何通過lunarcalendar庫實現(xiàn)使用農(nóng)歷日期,文中的示例代碼簡潔易懂,有需要的小伙伴可以參考一下

農(nóng)歷日期庫

介紹

lunarcalendar是一個處理農(nóng)歷日期的庫

可以簡單通過pip安裝:pip install lunarcalendar

lunarcalendar的github地址

 從公歷轉(zhuǎn)為農(nóng)歷

from lunarcalendar import Converter, Solar
 
solar = Solar(2024, 11, 1)
lunar = Converter.Solar2Lunar(solar)
 
print(lunar)
 
print(lunar.year)  # 農(nóng)歷年
print(lunar.month)  # 農(nóng)歷月
print(lunar.day)  # 農(nóng)歷日
 
print(lunar.isleap)  # 是否閏月

從農(nóng)歷轉(zhuǎn)為公歷

from lunarcalendar import Converter, Lunar
 
lunar = Lunar(2025, 2, 2, isleap=False)
 
solar = Converter.Lunar2Solar(lunar)
 
print(solar)
 
print(solar.year)  # 公歷年
print(solar.month)  # 公歷月
print(solar.day)  # 公歷日
 
print(solar.to_date())  # 公歷日期

節(jié)日與節(jié)氣

遍歷某年全部節(jié)日

from lunarcalendar.festival import festivals
 
 
for fest in festivals:
    print(fest.get_lang("zh"), fest(2025))

遍歷某年全部的節(jié)氣

from lunarcalendar.solarterm import solarterms
 
 
for st in solarterms:
    print(st.get_lang("zh"), st(2025))

在這種情況下,就可以很容易的根據(jù)節(jié)日/節(jié)氣名,找到對應(yīng)的節(jié)日,如

from lunarcalendar.festival import festivals
 
 
for fest in festivals:
    if fest.get_lang("zh") == "春節(jié)":
        for year in range(2025, 2036):
            print(f"{year}年的春節(jié)在:{fest(year)}")

這樣,我們就可以輕松的看到每一年的春節(jié)都在什么時候了。

lunar-find

搜索節(jié)日與節(jié)氣

安裝lunarcalendar以后,同時會獲得一個lunar-find工具,該工具可以搜索節(jié)日與節(jié)氣,可以在不需要額外編寫代碼的情況下,查詢到節(jié)日與節(jié)氣。

如lunar-find 春節(jié),將顯示:春節(jié) on 2024: 2024-02-10

當(dāng)然,2024年春節(jié)早就過完了,顯示2024年春節(jié)沒有什么意義,我想要看2025年春節(jié)怎么辦呢?

只需要簡單的添加年份即可,如lunar-find 春節(jié) 2025,將顯示:春節(jié) on 2025: 2025-01-29

那么,一些與陰歷無關(guān)的節(jié)日,如情人節(jié),兒童節(jié),包括一些節(jié)氣,立春,冬至,同樣也可以輕松得到結(jié)果。

搜索全部節(jié)日

搜索全部:lunar-find all

搜索全部節(jié)日:lunar-find festival

搜索全部節(jié)日(使用中文):lunar-find 節(jié)日

搜索全部節(jié)氣:lunar-find solarterm

搜索全部節(jié)氣(使用中文):lunar-find 節(jié)氣

當(dāng)我們使用:lunar-find festival 2025,就能夠得到以下結(jié)果:

> 元旦 on 2025: 2025-01-01
> 臘八節(jié) on 2025: 2025-01-07
> 小年 on 2025: 2025-01-22
> 除夕 on 2025: 2025-01-28
> 春節(jié) on 2025: 2025-01-29
> 破五節(jié) on 2025: 2025-02-02
> 元宵節(jié) on 2025: 2025-02-12
> 情人節(jié) on 2025: 2025-02-14
> 龍?zhí)ь^ on 2025: 2025-03-01
> 婦女節(jié) on 2025: 2025-03-08
> 植樹節(jié) on 2025: 2025-03-12
> 清明節(jié) on 2025: 2025-04-04
> 復(fù)活節(jié) on 2025: 2025-04-20
> 勞動節(jié) on 2025: 2025-05-01
> 青年節(jié) on 2025: 2025-05-04
> 母親節(jié) on 2025: 2025-05-11
> 護士節(jié) on 2025: 2025-05-12
> 端午節(jié) on 2025: 2025-05-31
> 兒童節(jié) on 2025: 2025-06-01
> 父親節(jié) on 2025: 2025-06-15
> 七夕節(jié) on 2025: 2025-08-29
> 中元節(jié) on 2025: 2025-09-06
> 教師節(jié) on 2025: 2025-09-10
> 國慶節(jié) on 2025: 2025-10-01
> 中秋節(jié) on 2025: 2025-10-06
> 重陽節(jié) on 2025: 2025-10-29
> 萬圣夜 on 2025: 2025-10-31
> 寒衣節(jié) on 2025: 2025-11-20
> 感恩節(jié) on 2025: 2025-11-27
> 冬節(jié) on 2025: 2025-12-21
> 平安夜 on 2025: 2025-12-24
> 圣誕節(jié) on 2025: 2025-12-25

農(nóng)歷日期格式化

農(nóng)歷日期格式類

通常情況下,我們描述農(nóng)歷日期的時候,會說“正月初一”,“八月十五”,因此,我們還需要一種方法,將農(nóng)歷的數(shù)字日期對應(yīng)到我們常說的日期,以實現(xiàn)如日歷等功能。

from lunarcalendar import Converter, Solar
 
class LunarStr:
    months = ["正月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"]
    days = ["初一", "初二", "初三", "初四", "初五", "初六", "初七", "初八", "初九", "初十",
            "十一", "十二", "十三", "十四", "十五", "十六", "十七", "十八", "十九", "二十",
            "廿一", "廿二", "廿三", "廿四", "廿五", "廿六", "廿七", "廿八", "廿九", "三十"]
 
    @classmethod
    def from_year_month_day(cls, year, month, day):
        solar = Solar(year, month, day)
        lunar = Converter.Solar2Lunar(solar)
        return cls(lunar)
 
    def __repr__(self):
        return f"LunarStr(year={self.year}, month={self.month}, day={self.day})"
 
    def __init__(self, lunar):
        self.year = lunar.year
        self.month = lunar.month
        self.day = lunar.day
        try:
            self.month_str = self.months[lunar.month - 1]
            self.day_str = self.days[lunar.day - 1]
        except IndexError:
            raise ValueError("月份或日期超出有效范圍!")
        if lunar.isleap:
            self.month_str = "閏" + self.month_str
 
    def get_calendar_date_str(self):
        if self.day == 1:
            return self.month_str
        else:
            return self.day_str
 
    def get_date_str(self):
        return self.month_str + self.day_str

使用方法

我們可以通過創(chuàng)建一個農(nóng)歷日期,然后得到對應(yīng)的農(nóng)歷日期表達方式。

from lunarcalendar import Converter, Solar
 
solar = Solar(2024, 11, 1)
lunar = Converter.Solar2Lunar(solar)
date_str = LunarStr(lunar).get_date_str()
print(date_str)

也可以直接使用年月日,來直接得到農(nóng)歷日期的常用表達方式。

date_str = LunarStr.from_year_month_day(2024, 11, 1).get_date_str()
print(date_str)

到此這篇關(guān)于python+lunarcalendar庫實現(xiàn)使用農(nóng)歷日期的文章就介紹到這了,更多相關(guān)python lunarcalendar農(nóng)歷日期內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python網(wǎng)絡(luò)請求之Requests庫的高級功能運用

    Python網(wǎng)絡(luò)請求之Requests庫的高級功能運用

    在這篇文章中我們將進一步深入學(xué)習(xí)Requests庫的高級功能,包括處理重定向,設(shè)置超時,處理大文件以及錯誤和異常處理,需要的朋友可以參考下
    2023-08-08
  • Python利用Scrapy框架爬取豆瓣電影示例

    Python利用Scrapy框架爬取豆瓣電影示例

    這篇文章主要介紹了Python利用Scrapy框架爬取豆瓣電影,結(jié)合實例形式分析了Python使用Scrapy框架爬取豆瓣電影信息的具體操作步驟、實現(xiàn)技巧與相關(guān)注意事項,需要的朋友可以參考下
    2020-01-01
  • PyQt5 matplotlib畫圖不刷新的解決方案

    PyQt5 matplotlib畫圖不刷新的解決方案

    這篇文章主要介紹了PyQt5 matplotlib畫圖不刷新的解決方案,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • Python搭建Gitee圖床的示例代碼

    Python搭建Gitee圖床的示例代碼

    在寫博客的過程中經(jīng)常要插入圖片,本文將使用Python實現(xiàn)對上傳的圖片自動壓縮,自動編碼,以及自動推送到遠程倉庫,感興趣的可以了解一下
    2021-10-10
  • pandas 時間偏移的實現(xiàn)

    pandas 時間偏移的實現(xiàn)

    時間偏移就是在指定時間往前推或者往后推一段時間,即加減一段時間之后的時間,本文使用Python實現(xiàn),感興趣的可以了解一下
    2021-08-08
  • Python辦公自動化之文件的比較合并與xml操作

    Python辦公自動化之文件的比較合并與xml操作

    這篇文章主要為大家詳細介紹了Python辦公自動化之文件的比較合并與xml文件操作的相關(guān)知識,文中的示例代碼講解詳細,需要的可以參考一下
    2023-12-12
  • 更新升級python和pip版本后不生效的問題解決

    更新升級python和pip版本后不生效的問題解決

    這篇文章主要介紹了更新升級python和pip版本后不生效的問題解決,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • Python字符串類型及格式化問題

    Python字符串類型及格式化問題

    這篇文章主要介紹了Python字符串類型及格式化問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • Python連接SQLite數(shù)據(jù)庫操作實戰(zhàn)指南從入門到精通

    Python連接SQLite數(shù)據(jù)庫操作實戰(zhàn)指南從入門到精通

    在Python中使用SQLite進行數(shù)據(jù)庫操作時,我們將深入研究SQLite數(shù)據(jù)庫的創(chuàng)建、表格管理、數(shù)據(jù)插入、查詢、更新和刪除等關(guān)鍵主題,幫助你全面了解如何使用SQLite進行數(shù)據(jù)庫操作
    2023-11-11
  • 使用Python與MQTT實現(xiàn)異步通信功能

    使用Python與MQTT實現(xiàn)異步通信功能

    物聯(lián)網(wǎng)(IoT)和實時通信的世界中,消息隊列遙測傳輸(MQTT)協(xié)議因其輕量級、可靠性和實時性成為廣受歡迎的選擇,本文給大家介紹了使用Python與MQTT實現(xiàn)異步通信功能,需要的朋友可以參考下
    2024-12-12

最新評論

马山县| 陆川县| 阳城县| 瑞安市| 墨竹工卡县| 马尔康县| 泰安市| 南安市| 阳江市| 平陆县| 原阳县| 黄冈市| 吉木乃县| 泗洪县| 勃利县| 赤峰市| 汤原县| 龙胜| 仪征市| 阳原县| 鄂温| 东安县| 阿拉善右旗| 襄城县| 梁山县| 开原市| 绥阳县| 西华县| 通渭县| 兴义市| 普陀区| 吴堡县| 安龙县| 正镶白旗| 突泉县| 西林县| 陈巴尔虎旗| 达州市| 河曲县| 南通市| 商丘市|