我有一个函数可以在提供的日期时间之前获取月份的开始:
def get_start_of_previous_month(dt):
'''
Return the datetime corresponding to the start of the month
before the provided datetime.
'''
target_month = (dt.month - 1)
if target_month == 0:
target_month = 12
year_delta = (dt.month - 2) / 12
target_year = dt.year + year_delta
midnight = datetime.time.min
target_date = datetime.date(target_year, target_month, 1)
start_of_target_month = datetime.datetime.combine(target_date, midnight)
return start_of_target_month
然而,它似乎非常复杂。任何人都可以提出一个更简单的方法吗?我正在使用 python 2.4。