题目内容:
给定年月日,如2019/1/8,打印输出这一天是该年的第几天。
输入格式:
共一行,为一个字符串,年月日之间以’/'隔开,如2019/1/8。
输出格式:
共一行,为一个正整数。
输入样例:
2019/1/8
输出样例:
8
My answer
思路1:刚学到了时间库,用上time库,然后我们要将输入的格式转换成计算机能识别的格式,()。tm_yday可以直接得出是今年的第几天。题外话,strptime和strftime傻傻分不清楚,据说,strftime是 str-format-time, 时间字符串格式化,即我们看到的格式;strptime是str-parse-time,时间字符串语法化,即计算机理解的格式
import time
day = input()
f = time.strptime(day, '%Y/%m/%d')
print(f.tm_yday)
思路2:用datetime库,把当年的1月1号strptime,把输入的日期strptime,然后两个相减
from datetime import *
d = input()
d1 = datetime.strptime(d[:4] + '/1/1', '%Y/%m/%d')
d2 = datetime.strptime(d, '%Y/%m/%d')
print((d2 - d1).days+1)