Python 求每个月份的天数的另类方法
time 模块中有个 time.strptime 方法,strptime 方法的作用就是按照特定时间格式将字符串转换为时间类型。 尝试了下,当将一个日期不正确的字符串转化为时间类型时 Python 就会报错,比如,我们尝试将 "2012-2-31" 这个字符串进行转化时就会出错,这是因为 2 月是没有 31 天的,这真是太棒了!我们就利用这点来实现求每个月有多少天,看下代码:
import time
def getDays(year, month):
day = 31 # 定义每月最多的天数
while day:
try:
time.strptime('%s-%s-%d'%(year, month, day), '%Y-%m-%d') # 尝试将这个月最大的天数的字符串进行转化
return day # 成功时返回得就是这个月的天数
except:
day -= 1 # 否则将天数减1继续尝试转化, 直到成功为止
print(getDays(2019, 2))
这个必须点赞👍