两种方式,一种使用了python内置模块datetime
from datetime import datetime
def day_of_year():
# 示例:计算2024年4月19日是当年的第几天
year = int(input('请输入年份:'))
month = int(input('请输入月份:'))
day = int(input('请输入日期:'))
"""
输入年份、月份和日期,返回该日期在该年份中的第几天。
参数:
- year (int): 年份
- month (int): 月份(1-12)
- day (int): 日期(1-31,取决于月份)
返回值:
- int: 该年份中指定日期对应的第几天
"""
# 创建日期的datetime对象
date = datetime(year, month, day)
# 获取该日期在当年的天数
result = date.timetuple().tm_yday
print(f"{year}年{month}月{day}日是这一年中的第{result}天。")
# 调用函数并打印结果
day_of_year()
# 不使用datetime模块
def day_of_year_demo():
"""
计算并输出给定日期在当年是第几天的演示函数。
用户需要输入年份、月份和日期,函数将验证输入的合法性,并计算该日期是当年的第几天。
参数:
- 无
返回值:
- 无,但会直接输出一个字符串表示该日期是当年的第几天或者是输入有误的提示。
"""
year = int(input('请输入年份:'))
month = int(input('请输入月份:'))
day = int(input('请输入日期:'))
# 验证输入的月份和日期是否合法
if month > 12 or month < 1 or day > 31:
return '输入有误'
# 初始化月份对应的天数列表,考虑闰年
months = (0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334)
n = months[month - 1] + day # 计算到当前月份为止的总天数
# 判断给定年份是否为闰年
is_leap = True if (year % 400 == 0) or (year % 4 == 0) and (year % 100 != 0) else False
# 如果是闰年且月份大于2,则总天数加一天
if is_leap and month > 2:
n += 1
# 输出结果
print(f"{year}年{month}月{day}日是这一年中的第{n}天。")
day_of_year_demo()
Day:判断这一天是这一年的哪一天
未经允许不得转载:创想未来 » Day:判断这一天是这一年的哪一天
评论前必须登录!
注册