基于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设计模式之策略模式
Nov 18 Python
Python OpenCV处理图像之图像像素点操作
Jul 10 Python
如何在python字符串中输入纯粹的{}
Aug 22 Python
python处理两种分隔符的数据集方法
Dec 12 Python
Opencv+Python实现图像运动模糊和高斯模糊的示例
Apr 11 Python
详解Python3网络爬虫(二):利用urllib.urlopen向有道翻译发送数据获得翻译结果
May 07 Python
python函数参数(必须参数、可变参数、关键字参数)
Aug 16 Python
详解在Python中以绝对路径或者相对路径导入文件的方法
Aug 30 Python
Django学习之文件上传与下载
Oct 06 Python
Python3+Requests+Excel完整接口自动化测试框架的实现
Oct 11 Python
pycharm下配置pyqt5的教程(anaconda虚拟环境下+tensorflow)
Mar 25 Python
用pip给python安装matplotlib库的详细教程
Feb 24 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&&mysql)二
2006/10/09 PHP
php adodb介绍
2009/03/19 PHP
Zend Studio去除编辑器的语法警告设置方法
2012/10/24 PHP
为PHP安装imagick时出现Cannot locate header file MagickWand.h错误的解决方法
2014/11/03 PHP
PHP程序员不应该忽略的3点
2015/10/09 PHP
使用PHP连接数据库_实现用户数据的增删改查的整体操作示例
2017/09/01 PHP
laravel ORM 只开启created_at的几种方法总结
2018/01/29 PHP
BOM与DOM的区别分析
2010/10/26 Javascript
Dreamweaver jQuery智能提示插件,支持版本提示,支持1.6api
2011/07/31 Javascript
情人节之礼 js项链效果
2012/02/13 Javascript
使用jQuery实现的掷色子游戏动画效果
2014/03/14 Javascript
vue自定义指令实现v-tap插件
2016/11/03 Javascript
jQuery实现仿京东防抖动菜单效果示例
2018/07/06 jQuery
jQuery实现的简单手风琴效果示例
2018/08/29 jQuery
vue.js实现h5机器人聊天(测试版)
2020/07/16 Javascript
python搭建简易服务器分析与实现
2012/12/15 Python
python简单猜数游戏实例
2015/07/09 Python
python学习之第三方包安装方法(两种方法)
2015/07/30 Python
python搭建虚拟环境的步骤详解
2016/09/27 Python
CentOS7安装Python3的教程详解
2019/04/10 Python
详解Python匿名函数(lambda函数)
2019/04/19 Python
Python importlib动态导入模块实现代码
2020/04/16 Python
Python调用shell命令常用方法(4种)
2020/05/11 Python
python两种获取剪贴板内容的方法
2020/11/06 Python
CSS3效果:自定义“W”形运行轨迹实例
2017/03/29 HTML / CSS
瑞士设计师家具和家居饰品网上商店:Bruno Wickart
2019/03/18 全球购物
写给爸爸的道歉信
2014/01/15 职场文书
小学生美德少年事迹
2014/02/02 职场文书
给领导的检讨书
2014/02/16 职场文书
3分钟英语演讲稿
2014/04/29 职场文书
幼儿园八一建军节活动方案
2014/08/27 职场文书
法学专业毕业实习自我鉴定2014
2014/09/27 职场文书
公司感恩节活动策划书
2014/10/11 职场文书
2014年幼儿园工作总结
2014/11/10 职场文书
公务员处分决定书
2015/06/25 职场文书
85句关于理想的名言警句大全
2019/08/22 职场文书