Python统计节假日剩余天数的脚本

 更新时间:2022年02月15日 10:46:12   作者:wangmcn  
过完春节,盼着下一个节日,那么如何判断距离节假日还有多少天呢?今天小编给大家介绍使用python脚本来解决这个问题,对Python统计节假日倒计时脚本感兴趣的朋友一起看看吧

1、前言

如何快速的想了解距离节假日还有多少天?

接下来使用Python脚本来解决这个问题。

2、倒计时脚本

脚本代码:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
 
from colorama import init, Fore
from zhdate import ZhDate
import datetime
def get_week_day(date):
    week_day_dict = {
        0: '星期一',
        1: '星期二',
        2: '星期三',
        3: '星期四',
        4: '星期五',
        5: '星期六',
        6: '星期天',
    }
    day = date.weekday()
    return week_day_dict[day]
def time_parse(today):
    distance_year = (datetime.datetime.strptime(f"{today.year}-01-01", "%Y-%m-%d").date() - today).days
    distance_year = distance_year if distance_year > 0 else (
            datetime.datetime.strptime(f"{today.year + 1}-01-01", "%Y-%m-%d").date() - today).days
    distance_big_year = (ZhDate(today.year, 1, 1).to_datetime().date() - today).days
    distance_big_year = distance_big_year if distance_big_year > 0 else (
            ZhDate(today.year + 1, 1, 1).to_datetime().date() - today).days
    distance_4_5 = (datetime.datetime.strptime(f"{today.year}-04-05", "%Y-%m-%d").date() - today).days
    distance_4_5 = distance_4_5 if distance_4_5 > 0 else (
            datetime.datetime.strptime(f"{today.year + 1}-04-05", "%Y-%m-%d").date() - today).days
    distance_5_1 = (datetime.datetime.strptime(f"{today.year}-05-01", "%Y-%m-%d").date() - today).days
    distance_5_1 = distance_5_1 if distance_5_1 > 0 else (
            datetime.datetime.strptime(f"{today.year + 1}-05-01", "%Y-%m-%d").date() - today).days
    distance_5_5 = (ZhDate(today.year, 5, 5).to_datetime().date() - today).days
    distance_5_5 = distance_5_5 if distance_5_5 > 0 else (
            ZhDate(today.year + 1, 5, 5).to_datetime().date() - today).days
    distance_8_15 = (ZhDate(today.year, 8, 15).to_datetime().date() - today).days
    distance_8_15 = distance_8_15 if distance_8_15 > 0 else (
            ZhDate(today.year + 1, 8, 15).to_datetime().date() - today).days
    distance_10_1 = (datetime.datetime.strptime(f"{today.year}-10-01", "%Y-%m-%d").date() - today).days
    distance_10_1 = distance_10_1 if distance_10_1 > 0 else (
            datetime.datetime.strptime(f"{today.year + 1}-10-01", "%Y-%m-%d").date() - today).days
    # print("距离周末: ", 5 - today.weekday())
    # print("距离元旦: ", distance_year)
    # print("距离大年: ", distance_big_year)
    # print("距离清明: ", distance_4_5)
    # print("距离劳动: ", distance_5_1)
    # print("距离端午: ", distance_5_5)
    # print("距离中秋: ", distance_8_15)
    # print("距离国庆: ", distance_10_1)
    time_ = [
        {"v_": 5 - 1 - today.weekday(), "title": "周末"}, # 距离周末
        {"v_": distance_year, "title": "元旦"}, # 距离元旦
        {"v_": distance_big_year, "title": "过年"}, # 距离过年
        {"v_": distance_4_5, "title": "清明节"}, # 距离清明
        {"v_": distance_5_1, "title": "劳动节"}, # 距离劳动
        {"v_": distance_5_5, "title": "端午节"}, # 距离端午
        {"v_": distance_8_15, "title": "中秋节"}, # 距离中秋
        {"v_": distance_10_1, "title": "国庆节"}, # 距离国庆
    ]
    time_ = sorted(time_, key=lambda x: x['v_'], reverse=False)
    return time_
def countdown():
    init(autoreset=True)
    today = datetime.date.today()
    now_ = f"{today.year}年{today.month}月{today.day}日"
    week_day_ = get_week_day(today)
    print(f'\n\t\t {Fore.GREEN}{now_} {week_day_}')
    str_ = '''
         开始!
    '''
    print(f'{Fore.RED}{str_}')
    time_ = time_parse(today)
    for t_ in time_:
        print(f'\t\t {Fore.RED}距离{t_.get("title")}还有: {t_.get("v_")}天')
    tips_ = '''
         结束!
    print(f'{Fore.RED}{tips_}')
    print(f'\t\t{Fore.CYAN} 公众号:AllTests软件测试\n')
if __name__ == '__main__':
    countdown()

在PyCharm上执行结果:

在终端上执行结果:

到此这篇关于Python统计节假日剩余天数的脚本的文章就介绍到这了,更多相关Python统计节假日内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 用python画一只可爱的皮卡丘实例

    用python画一只可爱的皮卡丘实例

    今天小编就为大家分享一篇用python画一只可爱的皮卡丘实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • Python中很常用的函数map()用法实例

    Python中很常用的函数map()用法实例

    这篇文章主要给大家介绍了关于Python中很常用的函数map()用法的相关资料,map()函数是Python的内置函数,会根据提供的函数参数,对传入的序列数据进行映射,需要的朋友可以参考下
    2023-10-10
  • Django Admin 实现外键过滤的方法

    Django Admin 实现外键过滤的方法

    下面小编就为大家带来一篇Django Admin 实现外键过滤的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • Python PyMuPDF实现PDF与图片和PPT相互转换

    Python PyMuPDF实现PDF与图片和PPT相互转换

    能够用来对PDF文档进行操作的Python包有好几个,如提取内容的PdfPlumber、PDFMiner,可以用来对PDF文件进行修改操作的PyPDF2等等,如果只是需要简单地对PDF文件实现合并、拆分、书签操作,使用PyPDF2就足以满足。但如果想对PDF文件进行一些底层操作,基本上只有PyMuPDF了
    2022-12-12
  • pytorch_detach 切断网络反传方式

    pytorch_detach 切断网络反传方式

    这篇文章主要介绍了pytorch_detach 切断网络反传方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-05-05
  • Python和OpenCV库实现识别人物出现并锁定

    Python和OpenCV库实现识别人物出现并锁定

    本文主要介绍了Python和OpenCV库实现识别人物出现并锁定,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • Python读取Excel批量写入到PPT并生成词卡

    Python读取Excel批量写入到PPT并生成词卡

    这篇文章主要为大家详细介绍了如何使用Python实现读取Excel并批量写入到PPT生成词卡,文中的示例代码讲解详细,有需要的小伙伴可以参考一下
    2024-12-12
  • Python copy()与deepcopy()方法之间有什么区别

    Python copy()与deepcopy()方法之间有什么区别

    这篇文章主要介绍了Python中的copy()和deepcopy(),下面详细介绍该内容并附上详细代码,需要的朋友可以参考一下文章的具体内容,希望对你有所帮助
    2022-10-10
  • Python+SQLAlchemy轻松实现管理数据库

    Python+SQLAlchemy轻松实现管理数据库

    QLAlchemy是一个强大的ORM(对象关系映射)库,它允许您通过Python代码与关系型数据库进行交互,本文我们将学习如何使用Python和SQLAlchemy库来轻松管理数据库,需要的可以参考下
    2023-05-05
  • Python中random函数的用法整理大全

    Python中random函数的用法整理大全

    random库是使用随机数的Python标准库,random库主要用于生成随机数,下面这篇文章主要给大家介绍了关于Python random函数用法的相关资料,文中通过图文以及实例代码介绍的非常详细,需要的朋友可以参考下
    2022-08-08

最新评论