python输入日期,输出该日期对应的工作日或周末
时间: 2024-09-11 16:06:32 浏览: 61
在Python中,我们可以利用`datetime`模块来处理日期,并结合`dateutil.relativedelta`库来判断某一天是工作日还是周末。首先需要安装`dateutil`库,可以使用`pip install python-dateutil`命令安装。
下面是一个简单的示例,展示如何获取用户输入的日期并判断是否为工作日:
```python
import datetime
from dateutil.relativedelta import relativedelta
from dateutil.easter import easter
def is_weekday(date):
# 工作日通常定义为周一到周五
return date.weekday() < 5 # 星期0代表周一,以此类推
def main():
try:
input_date = input("请输入日期(格式:YYYY-MM-DD):")
dt = datetime.datetime.strptime(input_date, "%Y-%m-%d")
# 如果输入的是闰年的复活节周日之后的第一个工作日,则视为开始的新一周
if easter(dt.year).weekday() == 6 and dt >= easter(dt.year): # 周六
start_of_week = dt + relativedelta(days=1)
else:
start_of_week = dt
if is_weekday(start_of_week):
print(f"{input_date} 是工作日")
else:
print(f"{input_date} 是周末")
except ValueError:
print("输入的日期格式有误,请按照YYYY-MM-DD格式输入.")
if __name__ == "__main__":
main()
```
在这个脚本中,我们首先将用户输入的字符串转换成`datetime`对象,然后判断该日期是否为工作日。如果是工作日,就打印出“是工作日”,反之则为“是周末”。
阅读全文