摸鱼的时间写了一个下班倒计时的 python 脚本,供大家可以参考
# -*- coding: utf-8 -*-
from datetime import datetime,timedelta
def printCountDown(tag, now, year,month, day, hour, min, seconds):
thatDay = datetime(year,month,day,hour,min,seconds)
diff = (int)(thatDay.timestamp() - now.timestamp())
seconds = diff
month = 0
hour = 0
min = 0
day = 0
if seconds > 60:
min = int(seconds / 60)
seconds = int(seconds % 60)
if min > 60:
hour = int(min / int(60))
min = int(min % int(60))
if hour > 24:
day = int(hour / int(24))
hour = int(hour % int(24))
if day > 30:
month = int(day / int(30))
day = int(day % int(30))
if month > 0:
print("距离【{}】还有 {}个月{}天{}小时{}分".format(tag,month,day,hour,min))
elif day > 0:
print("距离【{}】还有 {}天{}小时{}分".format(tag,day,hour,min))
elif hour > 0:
print("距离【{}】还有 {}小时{}分".format(tag,hour,min))
elif min > 0:
print("距离【{}】还有 {}分钟".format(tag,min))
elif seconds >0:
print("距离【{}】还有 {}秒".format(tag,seconds))
else:
print("【{}】已到".format(tag))
pass
now = datetime.now()
print("温馨提示:\n")
off_minute = 35
off_hour = 18
salaryDay = 23
salaryDateTime = datetime(now.year, now.month, salaryDay, off_hour, off_minute, 0)
delta = salaryDateTime - now
if delta.days < 0: # 过了发薪日,需要判断下个月的发薪日
salaryMonth = now.month + 1
salaryYear = now.year
if salaryMonth > 12:
salaryMonth %= 12
salaryYear += 1
printCountDown(tag="发工资", now=now, year=salaryYear, month=salaryMonth, day=salaryDay, hour=off_hour, min=off_minute, seconds=0)
else:
printCountDown(tag="发工资", now=now, year=now.year, month=now.month, day=salaryDay, hour=off_hour, min=off_minute, seconds=0)
printCountDown(tag="下班铃声响", now=now, year=now.year, month=now.month, day=now.day, hour=off_hour, min=off_minute, seconds=0)
weekday = now.weekday()
if weekday > 4:
fridayOffset = 6 - weekday + 5
else:
fridayOffset = 4 - weekday
# 0 1 2 3 4 5 6
friday = now + timedelta(days = fridayOffset)
if fridayOffset < 5:
printCountDown(tag="周五下班", now=now, year=friday.year, month=friday.month, day=friday.day, hour=18, min=off_minute, seconds=0)
printCountDown(tag="元旦", now=now, year=2024, month=1, day=1, hour=0, min=0, seconds=0)
printCountDown(tag="除夕", now=now, year=2024, month=2, day=8, hour=18, min=off_minute, seconds=0)
运行结果如下
温馨提示:
距离【发工资】还有 18天0小时35分
距离【下班铃声响】还有 35分钟
距离【周五下班】还有 3天0小时35分
距离【元旦】还有 26天6小时0分
距离【除夕】还有 2个月5天0小时35分
你们可以把目标时间改成自己公司的,摸鱼神器一枚