基于Python实现一个春节倒计时脚本


Posted in Python onJanuary 22, 2022

前言​

春节对于中国人民群众来说,是一个意义非凡的节日,它意味着一年的结束和新年的开始,很多人为了表达自己的期盼,都会进行倒计时。

“在春节即将到来之际:

如果有人能提醒我还有几天的话那就好了!”

基于Python实现一个春节倒计时脚本

小编答应你了就问你贴不贴心 今天教大家编写一款简单的新年倒计时小脚本,时刻提醒大家距离过年还有多久啦——顺便在这里提前祝大家虎年吉祥,万事如意哦~

环境安装

Python3、 Pycharm (如需安装包、激活码等直接私信我即可安装问题解答都可以的哈~)

效果展示

基于Python实现一个春节倒计时脚本

代码展示

import datetime
import sys
import math

spring = datetime.datetime(2022, 1, 31, 0, 0, 0)  # 新的一年的日期
while True:
    today = datetime.datetime.now()  # 获取当前的日期
    day = (spring - today).days  # 新年日期减去当前日期
    second = (spring - today).seconds  # 得到秒数
    sec = second % 60
    minute = second / 60 % 60
    hour = second / 60 / 60
    if hour > 24:
        hour = hour - 24

    hour = math.floor(hour)  # 去掉小数点,向下取整
    minute = math.floor(minute)  # 去掉小数点,向下取整

    sys.stdout.write("离今年春节还有" + str(day) + "天" + str(hour) + "小时" + str(minute) + "分钟" + str(sec) + "秒" + '\r')
    sys.stdout.flush()
    time.sleep(1)
    print("离今年春节还有" + str(day) + "天" + str(hour) + "小时" + str(minute) + "分钟" + str(sec) + "秒" + '\r')

补充

除了节假日倒计时,Python还能实现摸鱼倒计时,具体代码如下

# -*- coding: utf-8 -*- 
import datetime 
from fastapi import FastAPI, Request 
from fastapi.responses import HTMLResponse 
from fastapi.templating import Jinja2Templates 
from zhdate import ZhDate as lunar_date 
 
app = FastAPI( 
    debug=False, 
    title="My API", 
    docs_url=f"/docs", 
    openapi_url=f"/openapi.json" 
) 
 
templates = Jinja2Templates(directory="templates") 
 
today = datetime.date.today() 
 
# print(today.year, today.month, today.day) 
# print("大年时间: ", lunar_date(today.year+1, 1, 1).to_datetime().date()) 
# print("端午时间: ", lunar_date(today.year, 5, 5).to_datetime().date()) 
# print("中秋时间: ", lunar_date(today.year, 8, 15).to_datetime().date()) 
# print("元旦时间: ", f"{today.year+1}-01-01") 
# print("清明时间: ", f"{today.year+1}-04-05") 
# print("劳动时间: ", f"{today.year+1}-05-01") 
# print("国庆时间: ", f"{today.year+1}-10-01") 
 
distance_big_year = (lunar_date(today.year + 1, 1, 1).to_datetime().date() - today).days 
 
distance_5_5 = (lunar_date(today.year, 5, 5).to_datetime().date() - today).days 
distance_5_5 = distance_5_5 if distance_5_5 > 0 else ( 
        lunar_date(today.year + 1, 5, 5).to_datetime().date() - today).days 
 
distance_8_15 = (lunar_date(today.year, 8, 15).to_datetime().date() - today).days 
distance_8_15 = distance_8_15 if distance_8_15 > 0 else ( 
        lunar_date(today.year + 1, 8, 15).to_datetime().date() - today).days 
 
distance_year = (datetime.datetime.strptime(f"{today.year + 1}-01-01", "%Y-%m-%d").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_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 
 
 
def get_week_day(date): 
    week_day_dict = { 
        0: '星期一', 
        1: '星期二', 
        2: '星期三', 
        3: '星期四', 
        4: '星期五', 
        5: '星期六', 
        6: '星期天', 
    } 
    day = date.weekday() 
    return week_day_dict[day] 
 
 
# print("距离大年: ", distance_big_year) 
# print("距离端午: ", distance_5_5) 
# print("距离中秋: ", distance_8_15) 
# print("距离元旦: ", distance_year) 
# print("距离清明: ", distance_4_5) 
# print("距离劳动: ", distance_5_1) 
# print("距离国庆: ", distance_10_1) 
# print("距离周末: ", 5 - today.weekday()) 
 
now_ = f"{today.year}年{today.month}月{today.day}日" 
week_day_ = get_week_day(today) 
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) 
 
 
@app.get("/", response_class=HTMLResponse) 
async def readme(request: Request): 
    return templates.TemplateResponse("readme.html", 
                                      {"request": request, "time_": time_, "now_": now_, "week_day_": week_day_}) 
 
 
if __name__ == '__main__': 
    import uvicorn 
 
    uvicorn.run(app='main:app', host="0.0.0.0", port=8080, reload=True)

以上就是基于Python实现一个春节倒计时脚本的详细内容,更多关于Python春节倒计时的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python简单实现基数排序算法
May 16 Python
Python实现比较两个列表(list)范围
Jun 12 Python
python实现对输入的密文加密
Mar 20 Python
CentOS7安装Python3的教程详解
Apr 10 Python
对PyQt5的输入对话框使用(QInputDialog)详解
Jun 25 Python
pyinstaller参数介绍以及总结详解
Jul 12 Python
Django中提示消息messages的设置方式
Nov 15 Python
python @propert装饰器使用方法原理解析
Dec 25 Python
Python函数的返回值、匿名函数lambda、filter函数、map函数、reduce函数用法实例分析
Dec 26 Python
django 数据库返回queryset实现封装为字典
May 19 Python
python+excel接口自动化获取token并作为请求参数进行传参操作
Nov 10 Python
python实现高效的遗传算法
Apr 07 Python
详解Python如何批量采集京东商品数据流程
Jan 22 #Python
用Python实现屏幕截图详解
Jan 22 #Python
Python实现学生管理系统并生成exe可执行文件详解流程
Jan 22 #Python
django中websocket的具体使用
Jan 22 #Python
Django+Nginx+uWSGI 定时任务的实现方法
Jan 22 #Python
梳理总结Python开发中需要摒弃的18个坏习惯
Jan 22 #Python
Pandas搭配lambda组合使用详解
Jan 22 #Python
You might like
PHP编程中八种常见的文件操作方式
2006/11/19 PHP
扩展你的 PHP 之入门篇
2006/12/04 PHP
PHP四大安全策略
2014/03/12 PHP
PHP多种序列化/反序列化的方法详解
2017/06/23 PHP
javascript一些实用技巧小结
2011/03/18 Javascript
JS实现商品倒计时实现代码
2013/05/03 Javascript
比较新旧两个数组值得增加和删除的JS代码
2013/10/30 Javascript
javascript 终止函数执行操作
2014/02/14 Javascript
JSON与XML优缺点对比分析
2015/07/17 Javascript
AngularJS控制器controller正确的通信的方法
2016/01/25 Javascript
Jquery为DIV添加click事件的简单实例
2016/06/02 Javascript
最全面的JS倒计时代码
2016/09/17 Javascript
JS封装的选项卡TAB切换效果示例
2016/09/20 Javascript
快速将Vue项目升级到webpack3的方法步骤
2017/09/14 Javascript
vue cli使用绝对路径引用图片问题的解决
2017/12/06 Javascript
jquery实现左右轮播切换效果
2018/01/01 jQuery
JS删除数组里的某个元素方法
2018/02/03 Javascript
vue的列表交错过渡实现代码示例
2019/05/05 Javascript
微信小程序wepy框架学习和使用心得详解
2019/05/24 Javascript
Django REST Framework之频率限制的使用
2019/09/29 Python
Python接口自动化系列之unittest结合ddt的使用教程详解
2021/02/23 Python
利用CSS3参考手册和CSS3代码生成工具加速来学习网页制
2012/07/11 HTML / CSS
Laura Geller官网:美国彩妆品牌
2018/12/29 全球购物
年度考核自我鉴定
2014/02/02 职场文书
安全协议书范本
2014/04/21 职场文书
尊老爱亲美德少年事迹材料
2014/08/14 职场文书
小学生国庆节演讲稿
2014/09/05 职场文书
工资收入证明
2014/10/07 职场文书
出纳岗位职责
2015/01/31 职场文书
销售员岗位职责范本
2015/04/11 职场文书
新闻通讯稿范文
2015/07/22 职场文书
初中班主任心得体会
2016/01/07 职场文书
2016银行求职自荐信
2016/01/28 职场文书
高一作文之乐趣
2019/11/21 职场文书
CSS 一行代码实现头像与国旗的融合
2021/10/24 HTML / CSS
Elasticsearch 基本查询和组合查询
2022/04/19 Python