基于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实现股市信息下载的方法
Jun 15 Python
Python实现监控程序执行时间并将其写入日志的方法
Jun 30 Python
对Tensorflow中权值和feature map的可视化详解
Jun 14 Python
python 实现将txt文件多行合并为一行并将中间的空格去掉方法
Dec 20 Python
python 中值滤波,椒盐去噪,图片增强实例
Dec 18 Python
Python字符串、列表、元组、字典、集合的补充实例详解
Dec 20 Python
pytorch 中的重要模块化接口nn.Module的使用
Apr 02 Python
Python爬虫工具requests-html使用解析
Apr 29 Python
浅谈Python中文件夹和python package包的区别
Jun 01 Python
Python预测2020高考分数和录取情况
Jul 08 Python
Python 转移文件至云对象存储的方法
Feb 07 Python
python tkinter模块的简单使用
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
php5 and xml示例
2006/11/22 PHP
PHP 检查扩展库或函数是否可用的代码
2010/04/06 PHP
PHP学习 变量使用总结
2011/03/24 PHP
php入门学习知识点五 关于php数组的几个基本操作
2011/07/14 PHP
C#静态方法与非静态方法实例分析
2014/09/22 PHP
PHP开发注意事项总结
2015/02/04 PHP
JavaScript中的Document文档对象
2008/01/16 Javascript
js动态添加onload、onresize、onscroll事件(另类方法)
2012/12/26 Javascript
改变文件域的样式实现思路同时兼容ie、firefox
2013/10/23 Javascript
jQuery 设置 CSS 属性示例介绍
2014/01/16 Javascript
js控制容器隐藏出现防止样式变化的两种方法
2014/04/25 Javascript
JavaScript html5 canvas绘制时钟效果(二)
2016/03/27 Javascript
Bootstrap3.0建站教程(一)之bootstrap表单元素排版
2016/06/01 Javascript
JS实现禁止鼠标右键的功能
2016/10/15 Javascript
支持移动端原生js轮播图
2017/02/16 Javascript
一个小时快速搭建微信小程序的方法步骤
2019/04/15 Javascript
微信小程序自定义纯净模态框(弹出框)的实例代码
2020/03/09 Javascript
[01:34]完美“圣”典宣传片震撼发布,12.17与你不见不散
2016/12/16 DOTA
Python的Tornado框架异步编程入门实例
2015/04/24 Python
简单理解Python中的装饰器
2015/07/31 Python
python文件与目录操作实例详解
2016/02/22 Python
Python中线程的MQ消息队列实现以及消息队列的优点解析
2016/06/29 Python
利用Python命令行传递实例化对象的方法
2016/11/02 Python
Python基于回溯法子集树模板解决取物搭配问题实例
2017/09/02 Python
python脚本作为Windows服务启动代码详解
2018/02/11 Python
详解python分布式进程
2018/10/08 Python
详解python3中用HTMLTestRunner.py报ImportError: No module named 'StringIO'如何解决
2019/08/27 Python
Python 爬虫实现增加播客访问量的方法实现
2019/10/31 Python
Python私有属性私有方法应用实例解析
2020/09/15 Python
html5 offlline 缓存使用示例
2013/06/24 HTML / CSS
C语言笔试题
2014/09/04 面试题
传统软件工程与面向对象的软件工程有什么区别
2012/05/31 面试题
超市促销实习自我鉴定
2013/09/23 职场文书
培训主管的职业生涯规划
2014/03/06 职场文书
公司委托书范本
2014/04/04 职场文书
入党积极分子学习党的纲领思想汇报
2014/09/13 职场文书