题目:
使用 python 编程,实现输入日期,判断这一天是这一年的第几天?
具体实现代码如下:
import datetime
year = input('请输入年份:')
month = input('请输入月份:')
day = input('请输入天:')
date1 = datetime.date(year=int(year),month=int(month), day=int(day))
date2 = datetime.date(year=int(year),month=1, day=1)
res_date = (date1 - date2).days + 1
print('%s是%s年的第%s天' % (date1, year, res_date))
代码解析:
1、上面代码,用到了 python 内置时间模块 datetime 的 date 类,详细用法如下:
datetime.date:表示日期的类,常用属性有year、month、day
用法:可以将 int 数据类型的年月日转换为 datetime.date 日期类型,
返回值格式为YYYY-MM-DD,如:
import datetime
date1 = datetime.date(2022, 1, 12)
print('结果为:{},类型为:{}'.format(date1,type(date1)))
2、上面代码,使用了日期数据类型的减法来计算时间间隔
两个 datetime.date 时间类型数据相减,返回两个日期间隔的天数,
类型为 datetime.timedelta,如:
import datetime
date1 = datetime.date(2025, 1, 1)
date2 = datetime.date(2025, 3, 17)
date_jg = date2 - date1
print('日期间隔:', date_jg)
print('返回日期间隔的类型:', type(date_jg))
print('时间间隔days属性取到数值:', date_jg.days)
以上是 datetime 模块的一个简单运用。
-end-