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

一文教你利用Python制作一個(gè)生日提醒

 更新時(shí)間:2022年12月27日 08:58:13   作者:星安果  
在國(guó)內(nèi),大部分人都是過(guò)農(nóng)歷生日,然后借助日歷工具獲取農(nóng)歷日期對(duì)應(yīng)的陽(yáng)歷日期,以這一天來(lái)過(guò)生!這里還有一個(gè)痛點(diǎn),即:每一年的農(nóng)歷生日對(duì)應(yīng)的陽(yáng)歷日期都不一樣,本篇文章將教你利用 Python 制作一個(gè)簡(jiǎn)單的生日提醒,需要的可以參考一下

在國(guó)內(nèi),大部分人都是過(guò)農(nóng)歷生日,然后借助日歷工具獲取農(nóng)歷日期對(duì)應(yīng)的陽(yáng)歷日期,以這一天來(lái)過(guò)生!

這里還有一個(gè)痛點(diǎn),即:每一年的農(nóng)歷生日對(duì)應(yīng)的陽(yáng)歷日期都不一樣

本篇文章將教你利用 Python 制作一個(gè)簡(jiǎn)單的生日提醒

1. 實(shí)戰(zhàn)

具體操作步驟如下

1-1  安裝依賴

#?安裝依賴
pip3?install?zhdate

pip3?install?pymysql

其中,zhdate 模塊用于中國(guó)農(nóng)歷、陽(yáng)歷之間的轉(zhuǎn)換,并且支持日期差額計(jì)算

項(xiàng)目地址:

https://github.com/CutePandaSh/zhdate

1-2  創(chuàng)建數(shù)據(jù)表

創(chuàng)建一條數(shù)據(jù)表

create?table?birthday
(
????id????????int?auto_increment
????????primary?key,
????name??????varchar(100)??not?null?comment?'名稱',
????yl_birth??varchar(100)??not?null?comment?'陰歷生日',
????remark????varchar(100)??null?comment?'備注',
????is_delete?int?default?0?null?comment?'0:正常? 1:刪除'
)
????comment?'生日';

然后,將需要提醒用戶的姓名、農(nóng)歷生日等數(shù)據(jù)寫(xiě)入

PS:這里陰歷生日格式是 mm-dd,比如:10-25

1-3  查詢數(shù)據(jù)

import?pymysql

class?Birth(object):
????def?__init__(self):
????????self.db?=?pymysql.connect(host='**',
??????????????????????????????????user='root',
??????????????????????????????????password='**',
??????????????????????????????????database='xag')
????????self.cursor?=?self.db.cursor()

????def?__get_births(self):
????????#?獲取所有數(shù)據(jù)
????????self.cursor.execute("""
?????????????????????????????select?name,yl_birth,remark?from?birthday?where?is_delete=0;""")

????????datas?=?list(self.cursor.fetchall())

1-4  遍歷,獲取距離今天的天數(shù)

遍歷上面的數(shù)據(jù),將陰歷轉(zhuǎn)為陽(yáng)歷,然后計(jì)算出距離今天的天數(shù)

from?zhdate?import?ZhDate

...
??def?__get_diff(self,?birth):
????????"""
????????根據(jù)農(nóng)歷生日,獲取當(dāng)前日期距離的時(shí)間(天)
????????:param birth:?農(nóng)歷生日,格式:10-25
????????:return:
????????"""
????????#?1、獲取今日的農(nóng)歷日歷
????????now?=?str(datetime.now().strftime('%Y-%m-%d')).split("-")
????????#?年、月、日
????????year,?month,?day?=?int(now[0]),?int(now[1]),?int(now[2])

????????#?1、獲取陰歷生日,轉(zhuǎn)為陽(yáng)歷
????????birth_month?=?int(birth.split("-")[0].strip())
????????birth_day?=?int(birth.split("-")[-1].strip())
????????birth_ying?=?ZhDate(year,?birth_month,?birth_day)

????????#?轉(zhuǎn)為陽(yáng)歷
????????birth_yang?=?birth_ying.to_datetime()

????????#?2、計(jì)算距離當(dāng)前日期的時(shí)間間隔(天)
????????today?=?datetime.now().strftime('%Y-%m-%d')
????????d1?=?datetime.strptime(today,?'%Y-%m-%d')

????????diff_day?=?(birth_yang-d1).days
????????return?diff_day

...
?#?遍歷數(shù)據(jù)
????????for?item?in?datas:
????????????name?=?item[0]
????????????birth?=?item[1]
????????????nickname?=?item[2]
????????????diff?=?self.__get_diff(birth)
...

1-5  組裝數(shù)據(jù)及消息推送

通過(guò)時(shí)間間隔,在提前一周、生日當(dāng)天做一個(gè)提醒

最后,將組裝好的消息通過(guò)企業(yè)微信機(jī)器人發(fā)送出去

import?requests
import?json

...
???def?send_wechat(self,?msg:?str):
????????"""發(fā)送信息到企業(yè)微信"""
????????#?這里填寫(xiě)你的機(jī)器人的webhook鏈接
????????url?=?'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key**'
????????headers?=?{"Content-Type":?"text/plain"}
????????data?=?{
????????????"msgtype":?"text",
????????????"text":?{
????????????????"content":?msg
????????????}
????????}
????????#?發(fā)送消息
????????requests.post(url,?headers=headers,?data=json.dumps(data))
...

以上就是一文教你利用Python制作一個(gè)生日提醒的詳細(xì)內(nèi)容,更多關(guān)于Python生日提醒的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 詳解Pandas中GroupBy對(duì)象的使用

    詳解Pandas中GroupBy對(duì)象的使用

    本文將探討如何在Python的Pandas庫(kù)中創(chuàng)建GroupBy對(duì)象以及該對(duì)象的工作原理。我們將詳細(xì)了解分組過(guò)程的每個(gè)步驟,以及我們可以從中提取哪些有用信息,需要的可以參考一下
    2022-06-06
  • python中的錯(cuò)誤處理及異常斷言詳解

    python中的錯(cuò)誤處理及異常斷言詳解

    這篇文章主要為大家介紹了python中的錯(cuò)誤處理及異常斷言示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • numpy.linspace函數(shù)具體使用詳解

    numpy.linspace函數(shù)具體使用詳解

    這篇文章主要介紹了numpy.linspace具體使用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • Python階乘求和的代碼詳解

    Python階乘求和的代碼詳解

    在本篇文章里小編給大家整理的是關(guān)于Python階乘求和的代碼實(shí)例,有需要的朋友們可以跟著學(xué)習(xí)下。
    2020-02-02
  • pyqt5中動(dòng)畫(huà)的使用詳解

    pyqt5中動(dòng)畫(huà)的使用詳解

    這篇文章主要介紹了pyqt5中動(dòng)畫(huà)的使用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • 淺談Python之Django(二)

    淺談Python之Django(二)

    這篇文章主要介紹了Python3中的Django,小編覺(jué)得這篇文章寫(xiě)的還不錯(cuò),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧,希望能夠給你帶來(lái)幫助
    2021-10-10
  • 一篇超級(jí)全面的Python功能圖譜(推薦)

    一篇超級(jí)全面的Python功能圖譜(推薦)

    Python作為一種廣受歡迎的高級(jí)編程語(yǔ)言,不僅在基本語(yǔ)法上易于學(xué)習(xí),還擁有強(qiáng)大的標(biāo)準(zhǔn)庫(kù)和活躍的開(kāi)發(fā)社區(qū),本文詳細(xì)介紹了Python從基礎(chǔ)語(yǔ)法到高級(jí)應(yīng)用的全面功能,并通過(guò)實(shí)際案例和代碼示例展示了其在科學(xué)計(jì)算、Web開(kāi)發(fā)、機(jī)器學(xué)習(xí)等多個(gè)領(lǐng)域的應(yīng)用,需要的朋友可以參考下
    2024-09-09
  • pytorch 如何查看數(shù)據(jù)類型和大小

    pytorch 如何查看數(shù)據(jù)類型和大小

    這篇文章主要介紹了pytorch 實(shí)現(xiàn)查看數(shù)據(jù)類型和大小的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • Anaconda安裝pytorch及配置PyCharm 2021環(huán)境

    Anaconda安裝pytorch及配置PyCharm 2021環(huán)境

    小編使用的是python3.8版本,為了防止訪問(wèn)量過(guò)大導(dǎo)致http連接失敗,所以采用本地安裝,具體安裝方法本文給大家詳細(xì)介紹,在文章底部給大家提到了PyCharm 2021配置環(huán)境的方法,感興趣的朋友一起看看吧
    2021-06-06
  • Python類與實(shí)例的使用詳解

    Python類與實(shí)例的使用詳解

    面向?qū)ο笞钪匾母拍罹褪穷悾–lass)和實(shí)例(Instance),必須牢記類是抽象的模板,比如Student類,而實(shí)例是根據(jù)類創(chuàng)建出來(lái)的一個(gè)個(gè)具體的“對(duì)象”,每個(gè)對(duì)象都擁有相同的方法,但各自的數(shù)據(jù)可能不同
    2022-08-08

最新評(píng)論

台安县| 托克逊县| 陇川县| 兴安盟| 湄潭县| 剑河县| 时尚| 巧家县| 全南县| 信丰县| 苍梧县| 广平县| 宣武区| 临邑县| 平度市| 彰化市| 林口县| 二连浩特市| 温州市| 衢州市| 双辽市| 沾化县| 灯塔市| 恭城| 永寿县| 兴海县| 天柱县| 五指山市| 延安市| 开封市| 沾益县| 朝阳区| 武定县| 青浦区| 措勤县| 华宁县| 华安县| 新干县| 昌宁县| 乡宁县| 武汉市|