Python中怎么获取指定月最后一天的日期,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
Excel完成这个需求
① 在单元格中输入EOMONTH()公式
② 完成填充操作
③ 将时间戳转换为短日期格式
可以看到在excel中输入该公式后,默认返回的是一个时间戳,我们需要将其转换为我我们需要的短日期格式。
Python完成这个需求
在完成这个需求之前,我们先来讲述几个知识点,否则你会看着懵逼。
1)datetime库中的知识点
importdatetimedate1=datetime.date.today()print(date1)year=datetime.date.today().yearprint(year)`month=datetime.date.today().monthprint(month)
结果如下:
可以看出:上面我们使用today()函数直接获取了当前系统的年月,并且利用year和month属性分别获取了当前系统时间的年、月。
接下来,我们使用该模块获取指定年、月的指定日期,其中day=1表示获取当前年月的第一天,day=2表示获取当前年月的第二天......依次进行下去。
date1=datetime.date(year=year,month=month,day=1)print(date1)date2=datetime.date(year=year,month=month,day=2)print(date2)
结果如下:
通过上述演示,应该可以知道怎么完成这个需求了吧?当我们指定了年月,后面只需要传入day=当月的总天数这个参数,得到的不就是该年月的最后一天的日期吗?因此目前的问题就是怎么获取某个月的最后一天,这就是下面需要讲述的monthrange()函数。
2)calendar库中的知识点
对于这个模块,我主要讲述一个monthrange()函数,这个函数是有什么用呢?
#这里的year和month就是上面提到的2020和7importcalendarx,y=calendar.monthrange(year,month)print(x,y)"""其中:x表示2020/7/1号所在的星期数,其中周一是0,周二是1,周三是2。y表示的是2020年7月这个月的总天数。"""
结果如下:
3)完整代码如下
deffunc(year=None,month=None):ifyear:year=int(year)else:year=datetime.date.today().yearifmonth:month=int(month)else:month=datetime.date.today().month#x:表示当月第一天所属的星期#y:表示当月的总天数x,y=calendar.monthrange(year,month)#获取当月的第一天和最后一天first_day=datetime.date(year=year,month=month,day=1)last_day=datetime.date(year=year,month=month,day=y)returnfirst_day,last_dayfirst_day,last_day=func()print(first_day,last_day)first_day,last_day=func(2020,6)print(first_day,last_day)
结果如下:
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注恰卡编程网行业资讯频道,感谢您对恰卡编程网的支持。