基于Python實現(xiàn)倒計時工具
基于Python編寫的倒計時工具,供大家參考,具體內(nèi)容如下
特點:
實時顯示當(dāng)前時間
自動判斷用戶輸入日期,計算當(dāng)前日期與目標(biāo)日期相差大概多少年、月、日以及準(zhǔn)確的相差天數(shù)
運行窗口
運行界面-1

運行界面-2

輸入日期-3

結(jié)果窗口-4

代碼
import time
import tkinter as tk
from tkinter import messagebox
def main():
? ? window1 = tk.Tk()
? ? window1.title('計時器【v0.0】')
? ? window1.geometry('300x200')
? ? l1 = tk.Label(window1, text = '當(dāng)前時間:', font = ('宋體', 15))
? ? l1.place(x = 5, y = 10)
? ?
? ? def time_now():
? ? ? ? global seconds_now
? ? ? ? seconds_now = time.time()
? ? ? ? lt = time.localtime(seconds_now)
? ? ? ? time1 = []
? ? ? ? time2 = '%04d年%02d月%02d日 ? ?\n ? ?%02d時%02d分%02d秒' % (lt[0], lt[1], lt[2], lt[3], lt[4], lt[5])
? ? ? ? if time2 != time1:
? ? ? ? ? ? time1 = time2
? ? ? ? ? ? l1_2 = tk.Label(window1, text = time1, font = ('宋體', 20))
? ? ? ? ? ? l1_2.configure(text = time2)
? ? ? ? ? ? l1_2.place(x = 30, y = 50)
? ? ? ? ? ? l1_2.after(200, time_now)
? ? ? ? ? ??
? ? time_now()
? ??
? ? def input_time():
? ? ? ? window2 = tk.Tk()
? ? ? ? window2.title('計時器【v0.0】')
? ? ? ? window2.geometry('300x120')
? ? ? ? l2_1 = tk.Label(window2, text = '年', font = ('宋體', 15))
? ? ? ? l2_1.place(x = 90, y = 20)
? ? ? ? l2_2 = tk.Label(window2, text = '月', font = ('宋體', 15))
? ? ? ? l2_2.place(x = 170, y = 20)
? ? ? ? l2_3 = tk.Label(window2, text = '日', font = ('宋體', 15))
? ? ? ? l2_3.place(x = 250, y = 20)
? ? ? ? l2_4 = tk.Label(window2, text = '有效日期【1970/1/2-3001/1/1】', font = ('宋體', 10))
? ? ? ? l2_4.place(x = 50, y = 50)
? ? ? ? year = tk.Entry(window2, text = None, font = ('宋體', 15), width = 5)
? ? ? ? month = tk.Entry(window2, text = None, font = ('宋體', 15), width = 5)
? ? ? ? day = tk.Entry(window2, text = None, font = ('宋體', 15), width = 5)
? ? ? ? year.place(x = 40, y = 20)
? ? ? ? month.place(x = 120, y = 20)
? ? ? ? day.place(x = 200, y = 20)
? ? ? ? def get_time():
? ? ? ? ? ? try:
? ? ? ? ? ? ? ? y = int(year.get())
? ? ? ? ? ? ? ? m = int(month.get())
? ? ? ? ? ? ? ? d = int(day.get())
? ? ? ? ? ? ? ? lt_ = time.strptime(f'{y} {m} qcm22eq', '%Y %m %d')
? ? ? ? ? ? ? ? seconds_get = time.mktime(lt_)
? ? ? ? ? ? except BaseException:
? ? ? ? ? ? ? ? tk.messagebox.showerror(message='輸入有誤!')
? ? ? ? ? ? else:
? ? ? ? ? ? ? ? window2.withdraw() ? ?
? ? ? ? ? ??
? ? ? ? ? ? string1 = '查詢?nèi)掌诰嚯x現(xiàn)在還有:'
? ? ? ? ? ? string2 = '查詢?nèi)掌诰嚯x現(xiàn)在已過去:'
? ? ? ? ? ? seconds_lasting = seconds_get - seconds_now
? ? ? ? ? ??
? ? ? ? ? ? day_lasting = abs(seconds_lasting) // 86400
? ? ? ? ? ? month_lasting = 0
? ? ? ? ? ? year_lasting = 0
? ? ? ? ? ? days = day_lasting
? ? ? ? ? ?
? ? ? ? ? ? if day_lasting > 356:
? ? ? ? ? ? ? ? year_lasting = day_lasting // 365
? ? ? ? ? ? ? ? day_lasting -= year_lasting * 365
? ? ? ? ? ? ? ? if day_lasting > 30:
? ? ? ? ? ? ? ? ? ? month_lasting = day_lasting // 30
? ? ? ? ? ? ? ? ? ? day_lasting -= month_lasting * 30
? ? ? ? ? ? elif day_lasting > 30:
? ? ? ? ? ? ? ? year_lasting = 0
? ? ? ? ? ? ? ? month_lasting = day_lasting // 30
? ? ? ? ? ? ? ? day_lasting -= month_lasting * 30?
? ? ? ? ? ? else:
? ? ? ? ? ? ? ? year_lasting, month_lasting = 0, 0
? ? ? ? ? ??
? ? ? ? ? ? if seconds_lasting > 0:
? ? ? ? ? ? ? ? prompt = string1
? ? ? ? ? ? ? ? days += 1
? ? ? ? ? ? ? ? day_lasting += 1
? ? ? ? ? ? else:?
? ? ? ? ? ? ? ? prompt = string2 ?
? ? ? ? ? ? ? ? ??
? ? ? ? ? ? tk.messagebox.showinfo(message='%s%d天\n大概為%d年%d月%d天' % (prompt, days, year_lasting, month_lasting, day_lasting)) ??
? ? ? ? ? ? ? ??
? ? ? ? button2 = tk.Button(window2, text = '開始查詢', font = ('宋體', 15), command = get_time)
? ? ? ? button2.place(x = 110, y = 75)
? ? ? ?
? ? ? ? window2.mainloop()
? ? button1 = tk.Button(window1, text = '輸入查詢?nèi)掌?, font = ('宋體', 15), command = input_time)
? ? button1.place(x = 85, y = 125)
? ? window1.mainloop()
if __name__ == '__main__':
? ? main()以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
python3中的logging記錄日志實現(xiàn)過程及封裝成類的操作
這篇文章主要介紹了python3中的logging記錄日志實現(xiàn)過程及封裝成類的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05
Python+threading模塊對單個接口進行并發(fā)測試
這篇文章主要為大家詳細介紹了Python+threading模塊對單個接口進行并發(fā)測試,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-06-06
Python pandas如何向excel添加數(shù)據(jù)
這篇文章主要介紹了Python pandas如何向excel添加數(shù)據(jù),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-05-05
基于Python實現(xiàn)nc批量轉(zhuǎn)tif格式
做項目有時會運用到netCDF格式的氣象數(shù)據(jù),而ArcGIS中需要用柵格影像進行處理,對于較多的文件,ArcGIS一個個手動轉(zhuǎn)換過于繁瑣,因此我們采用Python進行轉(zhuǎn)換,下面就是Python實現(xiàn)nc批量轉(zhuǎn)tif格式的示例代碼,希望對你有所幫助2022-08-08
DjangoRestFramework 使用 simpleJWT 登陸認證完整記錄
Djangorestframework-simplejwt是Django REST Framework框架的一個jwt插件,使用 python http 工具進行接口測試的方法文中給大家提到,重點給大家分享djangorestframework-simplejwt 使用記錄及登陸認證的完成過程,感興趣的朋友跟隨小編一起看看吧2021-06-06
windows下pycharm搭建spark環(huán)境并成功運行 附源碼
這篇文章主要介紹了windows下pycharm搭建spark環(huán)境并成功運行 附源碼,本文分步驟給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-04-04

