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))
本文介绍如何使用Python的time模块中的strptime方法,通过解析日期字符串并捕获异常来确定一个月的确切天数。这种方法巧妙地利用了Python在处理无效日期时抛出错误的特性。
1997

被折叠的 条评论
为什么被折叠?



