为什么要做摸鱼倒计时器?
在忙碌的工作生活中,我们经常忽视了劳逸结合的重要性。一个摸鱼倒计时器不仅能提醒我们适时放松,还能给我们带来一些小确幸。想象一下,当你看到距离下一个假期还有多少天时,是不是会感到一丝欣喜和期待呢?
摸鱼倒计时器的核心原理
我们的摸鱼倒计时器主要基于以下Python模块:
-
• datetime: 用于处理日期和时间
-
• chinese_calendar: 用于处理中国节假日
有了这些模块,我们就能够:
-
• 获取当前日期
-
• 计算距离特定日期的天数
-
• 判断下一个节假日的日期
-
1. 代码实现: 从零到摸鱼 让我们一步步来实现这个摸鱼神器!
准备工作
首先,我们需要安装必要的库:
pip install chinese_calendar
然后,导入所需的模块:
from datetime import datetime, timedelta
from chinese_calendar import is_holiday, get_holiday_detail
获取当前日期
def get_current_date():
return datetime.now().strftime("%Y-%m-%d %A")
这个函数返回格式如"2023-08-07 Monday"的当前日期。
计算距离特定日期的天数
def days_until(target_date):
today = datetime.now().date()
return (target_date - today).days
这个函数计算从今天到目标日期的天数。
获取下一个节假日
def get_next_holiday(start_date=datetime.now().date()):
current_date = start_date
while True:
if is_holiday(current_date):
_, holiday_name = get_holiday_detail(current_date)
return current_date, holiday_name
current_date += timedelta(days=1)
这个函数从给定日期开始,找到下一个节假日及其名称。
获取下一个周末
def get_next_weekend():
today = datetime.now().date()
days_ahead = 5 - today.weekday() # 周六是5
if days_ahead <= 0: # 如果今天是周六或周日
days_ahead += 7
return today + timedelta(days=days_ahead)
这个函数计算下一个周末的日期。
组装我们的摸鱼消息
from datetime import datetime, timedelta
from chinese_calendar import is_holiday, get_holiday_detail
def get_current_date():
return datetime.now().strftime("%Y-%m-%d %A")
def days_until(target_date):
today = datetime.now().date()
return (target_date - today).days
def get_next_holiday(start_date=datetime.now().date()):
current_date = start_date
while True:
if is_holiday(current_date):
_, holiday_name = get_holiday_detail(current_date)
return current_date, holiday_name
current_date += timedelta(days=1)
def get_next_weekend():
today = datetime.now().date()
days_ahead = 5 - today.weekday() # 周六是5
if days_ahead <= 0: # 如果今天是周六或周日
days_ahead += 7
return today + timedelta(days=days_ahead)
def generate_fish_message():
today = datetime.now().date()
message = f"【摸鱼倒计时】今天是 {get_current_date()}\n"
message += "你好,摸鱼人,工作再累,一定不要忘记摸鱼哦! "
message += "有事没事起身去茶水间去廊道去天台走走,别老在工位上坐着。"
message += "多喝点水,钱是老板的,但命是自己的!\n\n"
next_weekend = get_next_weekend()
message += f"
标签:current,get,Python,datetime,倒计时,摸鱼,date,holiday
From: https://blog.csdn.net/2401_85903292/article/details/141722302