基于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 相关文章推荐
Django接受前端数据的几种方法总结
Nov 04 Python
python实现批量修改文件名代码
Sep 10 Python
python多进程中的内存复制(实例讲解)
Jan 05 Python
用Django实现一个可运行的区块链应用
Mar 08 Python
django解决跨域请求的问题详解
Jan 20 Python
Tensorflow分类器项目自定义数据读入的实现
Feb 05 Python
Python3.5实现的罗马数字转换成整数功能示例
Feb 25 Python
Python获取时间范围内日期列表和周列表的函数
Aug 05 Python
Django 实现前端图片压缩功能的方法
Aug 07 Python
Python hashlib加密模块常用方法解析
Dec 18 Python
jupyter lab文件导出/下载方式
Apr 22 Python
Selenium webdriver添加cookie实现过程详解
Aug 12 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
我的论坛源代码(八)
2006/10/09 PHP
php 代码优化之经典示例
2011/03/24 PHP
thinkPHP框架实现类似java过滤器的简单方法示例
2018/09/05 PHP
php实现文章评论系统
2019/02/18 PHP
laravel5表单唯一验证的实例代码
2019/09/30 PHP
Nigma vs Alliance BO5 第三场2.14
2021/03/10 DOTA
jQuery中 noConflict() 方法使用
2013/04/25 Javascript
javascript firefox 自动加载iframe 自动调整高宽示例
2013/08/27 Javascript
JavaScript中“过于”犀利地for/in循环使用示例
2013/10/22 Javascript
对Jquery中的ajax再封装,简化操作示例
2014/02/12 Javascript
JS的事件绑定深入认识
2014/06/26 Javascript
详细分析JavaScript函数定义
2015/07/16 Javascript
jQuery mobile在页面加载时添加加载中效果 document.ready 和window.onload执行顺序比较
2016/07/14 Javascript
AngularJS改变元素显示状态
2017/04/20 Javascript
JS实现移动端点击按钮复制文本内容
2019/07/28 Javascript
js this 绑定机制深入详解
2020/04/30 Javascript
vue实现购物车的小练习
2020/12/21 Vue.js
Python常用模块介绍
2014/11/21 Python
python中base64加密解密方法实例分析
2015/05/16 Python
Python3之读取连接过的网络并定位的方法
2018/04/22 Python
python批量查询、汉字去重处理CSV文件
2018/05/31 Python
Numpy的简单用法小结
2019/08/28 Python
Python selenium页面加载慢超时的解决方案
2020/03/18 Python
python读写数据读写csv文件(pandas用法)
2020/12/14 Python
基于CSS3特效之动画:animation的应用
2013/05/09 HTML / CSS
iHerb香港:维生素、补充剂和天然保健品
2017/08/01 全球购物
纽约海:Sea New York
2018/11/04 全球购物
英国在线玫瑰专家:InterRose
2019/12/01 全球购物
医学专业毕业生推荐信
2013/11/14 职场文书
车间组长岗位职责
2013/12/20 职场文书
外企办公室竞聘演讲稿
2013/12/29 职场文书
致铅球运动员广播稿精选
2014/01/12 职场文书
《云房子》教学反思
2014/04/20 职场文书
护士个人年度总结范文
2015/02/13 职场文书
golang 实现时间戳和时间的转化
2021/05/07 Golang
Python图片处理之图片裁剪教程
2021/05/27 Python