您的位置:首页 > 编程语言 > Python开发

【Python】获取某月份的第一天和最后一天

2016-12-22 09:43 134 查看

概述

在做项目的时候需要进行月份汇总,查询数据库(SQLALchemy)时就需要传递一个时间范围,即某月份的第一天和最后一天,以给出当月的所有数据。所以就需要写一个获取某月份第一天和最后一天的函数。

如果SQLALchemy可以过滤月份,那么就不用这么麻烦了。下面是代码清单。

代码清单

由于数据库存储的日期是datetime.date类型,所以该函数最后会返回datetime.date类型。

def getMonthFirstDayAndLastDay(year=None, month=None):
"""
:param year: 年份,默认是本年,可传int或str类型
:param month: 月份,默认是本月,可传int或str类型
:return: firstDay: 当月的第一天,datetime.date类型
lastDay: 当月的最后一天,datetime.date类型
"""
if year:
year = int(year)
else:
year = datetime.date.today().year

if month:
month = int(month)
else:
month = datetime.date.today().month

# 获取当月第一天的星期和当月的总天数
firstDayWeekDay, monthRange = calendar.monthrange(year, month)

# 获取当月的第一天
firstDay = datetime.date(year=year, month=month, day=1)
lastDay = datetime.date(year=year, month=month, day=monthRange)

return firstDay, lastDay
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: