【基础入门题】2021.11.11
【11.11·双十一·光棍节】
在Excel中把44511这个数所在单元格设成日期格式,就会转化成2021/11/11。
以此要求设计一个函数,参数为任意正整数,返回值为对应的日期。
编程语言:包括但不限于Python
题目来源:派森特给站每日刷题频道
Python使用datetime库非常方便,用到4个方法: datetime(), timedelta(), strptime(), strftime()
def num2date(n): from datetime import datetime,timedelta dt = datetime.strptime('1900-1-1','%Y-%m-%d') dt += timedelta(days = n-2) return dt.strftime('%Y/%m/%d') print(num2date(44511)) #输出结果: 2021/11/11
当n<=60时,返回值与Excel差一天,可能是Excel的bug,它有“1900.2.29”这一天。也就是上述函数中用到的“ timedelta(days = n-2) ” 语句中是n-2而不是 n-1 的原因。