输入今天的日期,输出昨天的日期。 提示:每年的1月、3月、5月、7月、8月、10月、12月有31天,4月、6月、9月、11月有30天,闰年的2月有29天,非闰年的2月是28天。闰年的年号,能被4整除但不能被100整除,或者能被400整除。
时间: 2023-12-28 15:18:08 浏览: 138
好的,可以使用 Python 编写一个程序来实现这个功能,代码如下:
```python
import datetime
# 获取当前日期
today = datetime.date.today()
# 计算昨天的日期
if today.month == 3 and today.day == 1: # 如果是3月1日,特殊处理
yesterday = datetime.date(today.year, 2, 28 if (today.year % 4 != 0 or (today.year % 100 == 0 and today.year % 400 != 0)) else 29)
elif today.day == 1: # 如果是本月1日,上个月有多少天需要根据月份计算
if today.month in [5, 7, 10, 12]:
yesterday = datetime.date(today.year, today.month - 1, 30)
elif today.month == 3:
yesterday = datetime.date(today.year, 2, 29 if (today.year % 4 != 0 or (today.year % 100 == 0 and today.year % 400 != 0)) else 28)
else:
yesterday = datetime.date(today.year, today.month - 1, 31)
else: # 否则昨天的日期就是今天的日期减去1天
yesterday = today - datetime.timedelta(days=1)
# 输出昨天的日期
print("今天的日期是:", today)
print("昨天的日期是:", yesterday)
```
这个程序使用了 Python 标准库中的 `datetime` 模块来处理日期和时间相关的操作。首先获取当前日期,然后根据当前日期来计算昨天的日期。特殊处理了3月1日和本月1日的情况,其他情况则直接使用 `timedelta` 函数来计算昨天的日期。
阅读全文