当前位置: 首页 > 后端技术 > Python

下班,滚出去,别浪费电了!!!

时间:2023-03-26 01:01:24 Python

下班了,又不好意思说,怎么办???今天教大家一招,一针见血。原文地址请点这里!!!原文地址请点这里!!!源程序已经打包成.exe文件,可以直接使用。\n先看看效果我最近很苦恼。作为一个程序员,每次都是被逼着留下来加班,很是苦恼,于是想了想,写了一段代码。他只是帮我们解决了下班不准时的问题。先看效果图LLQM公司一直叫我加班,然后我说要早点下班,我就装作没听见,很苦恼。于是,我写了这样一个程序来证明我下班的决心。如果不让我早点下班,我就用我的程序强行关机!!!实现想法,才能执行下去。使用tkinter模块设置页面数据。设置当前时间。设置下班时间。设置剩余时间。好像什么都没写,又好像写了什么。是的,我也瞎了。完整源码#-*-encoding:utf-8-*-#@time:2021/2/1221:02#作者:CoXie#首发于公众号:CoXie带你学编程#功能:off-dutytimerfromtkinterimport*importtimeimportosdefrefresh_current_time():"""刷新当前时间"""clock_time=time.strftime('%Y-%m-%d%H:%M:%S')curr_time。config(text=clock_time)curr_time.after(1000,refresh_current_time)defrefresh_down_time():"""刷新倒计时时间"""#当前时间戳now_time=int(time.time())#时分秒数据过滤下班后work_hour_val=int(work_hour.get())ifwork_hour_val>23:down_label.config(text='Theintervalofthehouris(00-23)')returnwork_minute_val=int(work_minute.get())ifwork_minute_val>59:down_label.config(text='分钟的范围是(00-59)')returnwork_second_val=int(work_second.get())ifwork_second_val>59:down_label.config(text='秒的范围is(00-59)')return#下班时间转换为时间戳work_date=str(work_hour_val)+':'+str(work_minute_val)+':'+str(work_second_val)work_str_time=time.strftime('%Y-%m-%d')+work_datetime_array=time.strptime(work_str_time,"%Y-%m-%d%H:%M:%S")work_time=time.mktime(time_array)ifnow_time>work_time:down_label.config(text='Off-dutytimehaspassed')return#下班时间剩余秒数diff_time=int(work_time-now_time)whilediff_time>-1:#获取倒计时-时分秒down_minute=diff_time//60down_second=diff_time%60down_hour=0ifdown_minute>60:down_hour=down_minute//60down_minute=down_minute%60#刷新倒计时时间down_time=str(down_hour).zfill(2)+'hour'+str(down_minute).zfill(2)+'minute'+str(down_second).zfill(2)+'second'down_label.config(text=down_time)tk_obj.update()time.sleep(1)ifdiff_time==0:#倒计时endsdown_label.config(text='快滚,别浪费电')#自动关机,一分钟后关机,可以取消#down_label.config(text='下一分钟自动关机')#os.system('shutdown-s-f-t60')breakdiff_time-=1#程序主入口if__name__=="__main__":#设置页面数据tk_obj=Tk()tk_obj.geometry('400x280')tk_obj.resizable(0,0)tk_obj.config(bg='white')tk_obj.title('倒计时申请')Label(tk_obj,text='倒计时上班',font='Arial20bold',bg='white').pack()#设置当前时间Label(tk_obj,font='Arial15bold',text='当前时间:',bg='white').place(x=50,y=60)curr_time=Label(tk_obj,font='宋体15',text='',fg='gray25',bg='white')curr_time.place(x=160,y=60)refresh_current_time()#设置下班时间Label(tk_obj,font='宋体15bold',text='下班时间:',bg='white').place(x=50,y=110)#下班时间-小时work_hour=StringVar()Entry(tk_obj,textvariable=work_hour,width=2,font='宋体12').place(x=160,y=115)work_hour.set('18')#下班时间-分钟work_minute=StringVar()Entry(tk_obj,textvariable=work_minute,width=2,font='宋体12').place(x=185,y=115)work_minute.set('00')#下班时间-秒work_second=StringVar()Entry(tk_obj,textvariable=work_second,width=2,font='宋体12').place(x=210,y=115)work_second.set('00')#设置剩余时间Label(tk_obj,font='宋体15bold',text='剩余时间:',bg='white').place(x=50,y=160)down_label=Label(tk_obj,font='宋体23',text='',fg='gray25',bg='white')down_label.place(x=160,y=155)down_label.config(text='00:00:00')#开始计时按钮Button(tk_obj,text='START',bd='5',command=refresh_down_time,bg='green',font='宋体10bold').place(x=150,y=220)tk_obj.mainloop()