from tkinter import Tk, Label
from ttkbootstrap import Style
from datetime import datetime, time, timedelta
def countdown():
当日工资 = 1000
上班时间 = time(9, 0, 0)
下班时间 = time(21, 0, 0)
当前时间 = datetime.now().time()
距离上班间隔时间 = datetime.combine(datetime.today(), 当前时间) - datetime.combine(
datetime.today(), 上班时间)
上班总秒数 = 距离上班间隔时间.total_seconds()
上班小时 = int(上班总秒数 // 3600)
上班分钟 = int((上班总秒数 % 3600) // 60)
上班秒钟 = int(上班总秒数 % 60)
距离下班间隔时间 = datetime.combine(
datetime.today(), 下班时间) - datetime.combine(datetime.today(), 当前时间)
下班总秒数 = 距离下班间隔时间.total_seconds()
下班小时 = int(下班总秒数 // 3600)
下班分钟 = int((下班总秒数 % 3600) // 60)
下班秒钟 = int(下班总秒数 % 60)
需工作时间 = datetime.combine(datetime.today(), 下班时间) - datetime.combine(
datetime.today(), 上班时间)
需工作秒数 = 需工作时间.total_seconds()
每秒收入 = 1000/需工作秒数
已收入 = 上班总秒数*每秒收入
countdown_label.config(text=f'''
🕢已经工作 : {上班小时:02d}:{上班分钟:02d}:{上班秒钟:02d}
🕙距离下班 : {下班小时:02d}:{下班分钟:02d}:{下班秒钟:02d}
💴今日资产 : {'%.2f' % 已收入}/{当日工资}
''')
countdown_label.config(justify='left')
root.after(1000, countdown)
root = Tk()
style = Style(theme='superhero')
root.title("下班倒计时")
root.geometry("450x140")
countdown_label = Label(root, text="", font=(
"楷体", 24), fg=style.colors.primary)
countdown_label.pack(pady=20)
countdown()
root.mainloop()
countdown_label.config(justify='left')
下班倒计时.bat:
@echo off
setlocal
:: 设置下班时间(24小时制,格式为"HH:MM")
set "targetTime=21:00"
:: 解析目标时间的小时和分钟
for /f "tokens=1-3 delims=: " %%a in ("%targetTime%") do (
set "targetHour=%%a"
set "targetMinute=%%b"
set "targetSecond=%%c"
)
:loop
:: 获取当前时间的小时、分钟和秒
for /f "tokens=1-3 delims=:." %%a in ("%time%") do (
set "currentHour=%%a"
set "currentMinute=%%b"
set "currentSecond=%%c"
)
:: 计算剩余时间(小时、分钟和秒)
set /a "remainingHours=targetHour-currentHour"
set /a "remainingMinutes=targetMinute-currentMinute"
set /a "remainingSeconds=targetSecond-currentSecond"
:: 处理负数情况
if %remainingHours% lss 0 (
set /a "remainingHours+=24"
)
if %remainingMinutes% lss 0 (
set /a "remainingMinutes+=60"
set /a "remainingHours-=1"
)
if %remainingSeconds% lss 0 (
set /a "remainingSeconds+=60"
set /a "remainingMinutes-=1"
)
:: 当倒计时到达 0 分钟时,将分钟显示为 0
if %remainingMinutes% lss 0 (
set "remainingMinutes=0"
)
:: 清屏并显示倒计时信息
cls
echo 距离下班还有:%remainingHours% 小时 %remainingMinutes% 分钟 %remainingSeconds% 秒
:: 延时 2 秒
ping -n 2 127.0.0.1 > nul
:: 继续循环
goto loop
endlocal收起全部
原文始发于微信公众号(Secu的矛与盾):hvv—蓝队生存指南
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论