基于Python实现倒计时工具

基于Python编写的倒计时工具,供大家参考,具体内容如下

特点:

实时显示当前时间
自动判断用户输入日期,计算当前日期与目标日期相差大概多少年、月、日以及准确的相差天数

运行窗口

运行界面-1

运行界面-2

输入日期-3

结果窗口-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 = '当前时间:', 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} {d}', '%Y %m %d')
                seconds_get = time.mktime(lt_)
            except BaseException:
                tk.messagebox.showerror(message='输入有误!')
            else:
                window2.withdraw()    
            
            string1 = '查询日期距离现在还有:'
            string2 = '查询日期距离现在已过去:'

            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 = '输入查询日期', font = ('宋体', 15), command = input_time)
    button1.place(x = 85, y = 125)

    window1.mainloop()

if __name__ == '__main__':
    main()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

时间: 2022-08-08

python 实现倒计时功能(gui界面)

运行效果: 完整源码: ##import library from tkinter import * import time from playsound import playsound ## display window root = Tk() root.geometry('400x300') root.resizable(0,0) root.config(bg ='blanched almond') root.title('TechVidvan - Countdown Clock And

python使用tkinter实现屏幕中间倒计时

本文实例为大家分享了python实现屏幕中间倒计时的具体代码,供大家参考,具体内容如下 先看下效果图: 代码: import time from tkinter import Tk,Label class TimeShow():#实现倒计时 def __init__(self,time_show=5): self.timeShowWin=Tk() self.timeShowWin.overrideredirect(True) self.timeShowWin.attributes('-alpha

python实现倒计时小工具

本文实例为大家分享了python实现倒计时小工具的具体代码,供大家参考,具体内容如下 #!/usr/bin/env python # coding=utf-8 import threading import time import Queue from Tkinter import * import tkMessageBox import logging logging.basicConfig(level=logging.INFO) ## Communication queue commQueu

python实现七段数码管和倒计时效果

8是典型的七段数码管的例子,因为刚好七段都有经过,这里我写的代码是从1开始右转. 这是看Mooc视频写的一个关于用七段数码管显示当前时间 # -*-coding:utf-8 -*- import turtle as t import time def drawGap(): t.penup() t.fd(5) def drawLine(draw): drawGap() t.pendown() if draw else t.penup() t.fd(40) t.right(90) def drawD

python实现windows倒计时锁屏功能

python实现windows倒计时锁屏功能 # 倒计时锁屏 import time from ctypes import * def closewindows(closetime): while closetime>0: print(closetime) time.sleep(1) closetime-=1 user32 = windll.LoadLibrary('user32.dll') user32.LockWorkStation() if __name__ == "__main__

python实现的简单窗口倒计时界面实例

本文实例讲述了python实现的简单窗口倒计时界面.分享给大家供大家参考.具体分析如下: 下面的代码通过Tkinter制作windows窗口界面,然后时间了一个简单的倒计时功能,代码可以直接运行 # Countdown using Tkinter from Tkinter import * import time import tkMessageBox class App: def __init__(self,master): frame = Frame(master) frame.pack()

亲手教你用Python打造一款摸鱼倒计时界面

前言 前段时间在微博看到一段摸鱼人的倒计时模板,感觉还挺有趣的. 于是我用了一小时的时间写了个页面出来 摸鱼办地址 (当然是摸鱼的时间啦). 模板是这样的: 摸鱼办公室  你好,摸鱼人,工作再累,一定不要忘记摸鱼哦 ! 有事没事起身去茶水间去廊道去天台走走,别老在工位上坐着.多喝点水,钱是老板的,但命是自己的 ! 距离 周末 放假还有 2 天 距离 元旦 放假还有 3 天 距离 过年 放假还有 34 天 距离 清明节 放假还有 97 天 距离 劳动节 放假还有 123 天 距离 端午节 放假还有

python基于tkinter制作下班倒计时工具

你有过摸鱼时间吗 在互联网圈子里,常常说996上班制,但是也不乏965的,更甚有007的,而007则就有点ICU的感觉了,所以,大家都会忙里偷闲,偶尔摸摸鱼,摸鱼的方式多种多样的,你有过上班摸鱼吗?你的摸鱼时间都干了些什么呢?如果你早早的完成了当天的任务,坐等下班的感觉是不是很爽呢?我想说这时间还是很难熬的,还不如找点事情做来得快呢,那做点什么呢?写个下班倒计时吧,就这么愉快的决定了-- 实现思路 倒计时的时间刷新,肯定得需要图形界面,也就是需要GUI编程,这里我用的是tkinter实现本地窗口

python实现简单倒计时功能

使用python实现简单倒计时exe,供大家参考,具体内容如下 使用tkinter制作界面实现倒计时功能. 使用time.sleep(1)实现 秒级 倒计时 使用线程避免界面卡死 在线程的循环中检测全局标志位,保证计时线程的重置.以及退出 使用pyinstaller -F file.py -w 生成exe文件,-w表示隐藏控制台,-F表示生成单文件 代码如下: #!/usr/bin/python3.8 # -*- coding: utf-8 -*- # @Time : 2021/4/19 14:

python实现倒计时的示例

复制代码 代码如下: import timecount = 0 a = input('time:') b = a * 60 while (count < b): ncount = b - count  print ncount  time.sleep(1) count += 1 print 'done'

Python实现购物系统(示例讲解)

要求: 用户入口 1.商品信息存在文件里 2.已购商品,余额记录. 商家入口 可以添加商品,修改商品价格 Code: 商家入口: # Author:P J J import os ps = ''' 1 >>>>>> 修改商品 2 >>>>>> 添加商品 按q为退出程序 ''' # 打开两个文件,f文件为原来存取商品文件,f_new文件为修改后的商品文件 f = open('commodit', 'r', encoding='utf-8

Python中turtle作图示例

在Python里,海龟不仅可以画简单的黑线,还可以用它画更复杂的几何图形,用不同的颜色,甚至还可以给形状填色. 一.从基本的正方形开始 引入turtle模块并创建Pen对象: >>> import turtle >>> t = turtle.Pen() 前面我们用来创建正方形的代码如下: >>> t.forward(50) >>> t.left(90) >>> t.forward(50) >>> t

python编程线性回归代码示例

用python进行线性回归分析非常方便,有现成的库可以使用比如:numpy.linalog.lstsq例子.scipy.stats.linregress例子.pandas.ols例子等. 不过本文使用sklearn库的linear_model.LinearRegression,支持任意维度,非常好用. 一.二维直线的例子 预备知识:线性方程y=a∗x+b.y=a∗x+b表示平面一直线 下面的例子中,我们根据房屋面积.房屋价格的历史数据,建立线性回归模型. 然后,根据给出的房屋面积,来预测房屋价格

Python Flask基础教程示例代码

本文研究的主要是Python Flask基础教程,具体介绍如下. 安装:pip install flask即可 一个简单的Flask from flask import Flask #导入Flask app = Flask(__name__) #创建一个Flask实例 #设置路由,即url @app.route('/') #url对应的函数 def hello_world(): #返回的页面 return 'Hello World!' #这个不是作为模块导入的时候运行,比如这个文件为aa.py,

Python装饰器用法示例小结

本文实例讲述了Python装饰器用法.分享给大家供大家参考,具体如下: 下面的程序示例了python装饰器的使用: 示例一: def outer(fun): print fun def wrapper(arg): result=fun(arg) print 'over!' return result return wrapper @outer def func1(arg): print 'func1',arg return 'very good!' response=func1('python'

python实现快速排序的示例(二分法思想)

本文介绍了python实现快速排序的示例(二分法思想),分享给大家,具体如下: 实现思路 将所需要的数字存入一个列表中 1.首先,设置将最左侧的那个数设置为基准数,在列表中索引为0 2.然后设置两个移动位(用于比较),分别为最左边和最右边 3.然后最右边那位向左移寻找比基准数小的那一位,最右边那位则从左向右寻找比基准数大的那一位 4.再后,将找到的两位对应的数字替换,继续执行3,直到两个移动位相遇,把基准为替换到相遇的那一位 5.最后,将列表以基准数那一位一分为二切开,左边和右边部分继续执行上述

Python pymongo模块用法示例

本文实例讲述了Python pymongo模块用法.分享给大家供大家参考,具体如下: MongoDB优点 MongoDB是一个为当代web应用而生的noSQL数据库,它有如下优点: 1.文档型存储.可以把关系型数据库的表理解为一个电子表格,列表示字段,每行的记录其实是按照列的字段顺序排列的值得元组.而存储在MongoDB中的文档被存储为键-值对的形式,值却可以是任意类型且可以嵌套.之前在用关系型数据库的时候,我们把产品信息打散到不同的表中,要通过关系表或者使用join拼接成复杂的SQL语句的方式

python Celery定时任务的示例

本文介绍了python Celery定时任务的示例,分享给大家,具体如下: 配置 启用Celery的定时任务需要设置CELERYBEAT_SCHEDULE . Celery的定时任务都由celery beat来进行调度.celery beat默认按照settings.py之中的时区时间来调度定时任务. 创建定时任务 一种创建定时任务的方式是配置CELERYBEAT_SCHEDULE: #每30秒调用task.add from datetime import timedelta CELERYBEA

Python切片索引用法示例

本文实例讲述了Python切片索引用法.分享给大家供大家参考,具体如下: 在Python中,可以用用简单的方括号加一个下标的方式访问序列的每一个元素,这种方式称之为切片操作符,切片操作符有三种形式: [],[:],[::] 访问某一数据元素的语法如下: sequence[index] sequence是序列的名字,index是访问元素的对应的偏移量,为正数,0<=index<=len(sequence)-1:使用负索引的时候,其范围为-len(sequence) <=index <