import datetimeyear, month, day = map(int, input().split("/"))tar = datetime.date(year, month, day)day_count = tar - datetime.date(tar.year - 1, 12, 31)print(f"{year}年{month}月{day}日是{year}年第{day_count.days}天")
时间: 2025-06-26 10:04:08 浏览: 10
### Python 使用 `datetime` 计算某一日期是当年的第几天
在 Python 中,可以借助内置的 `datetime` 模块完成此任务。具体来说,可以通过创建一个表示目标日期的对象,并调用其 `.timetuple().tm_yday` 属性获取该日期是一年中的第几天[^1]。
以下是完整的代码示例:
```python
from datetime import datetime
def get_day_of_year(date_str, date_format="%Y-%m-%d"):
"""
输入日期字符串并返回它是一年中的第几天。
参数:
date_str (str): 要计算的目标日期字符串。
date_format (str): 日期字符串的格式,默认为 "%Y-%m-%d"。
返回:
int: 表示该日期是一年中的第几天。
"""
target_date = datetime.strptime(date_str, date_format)
day_of_year = target_date.timetuple().tm_yday
return day_of_year
# 测试案例
date_string = "2023-09-15"
result = get_day_of_year(date_string)
print(f"{date_string} 是 {result} 天") # 输出:2023-09-15 是 258 天
```
上述代码中,我们定义了一个名为 `get_day_of_year` 的函数,用于接收日期字符串作为参数,并将其转换成 `datetime` 对象。接着通过访问对象的 `.timetuple().tm_yday` 属性得到对应的一年内天数位置。
#### 关键点说明
- **日期解析**: 利用了 `datetime.strptime()` 函数将字符串形式的日期转化为标准的 `datetime` 类型实例。
- **属性提取**: `.timetuple().tm_yday` 提供了一种简便的方式直接读取当前日期位于年度序列的位置。
此外,在实际开发过程中如果遇到更复杂的场景比如跨时区或者非公历体系下的情况,则需引入额外库支持如 pytz 或者 calendar 等工具辅助解决[^2]。
阅读全文
相关推荐



















