前言
春节对于中国人民群众来说,是一个意义非凡的节日,它意味着一年的结束和新年的开始,很多人为了表达自己的期盼,都会进行倒计时。
“在春节即将到来之际:
如果有人能提醒我还有几天的话那就好了!”
小编答应你了就问你贴不贴心 今天教大家编写一款简单的新年倒计时小脚本,时刻提醒大家距离过年还有多久啦——顺便在这里提前祝大家虎年吉祥,万事如意哦~
环境安装
Python3、 Pycharm (如需安装包、激活码等直接私信我即可安装问题解答都可以的哈~)
效果展示
代码展示
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
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还能实现摸鱼倒计时,具体代码如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
|
# -*- 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春节倒计时的资料请关注服务器之家其它相关文章!
原文链接:https://juejin.cn/post/7055832926219010055