求上个月的考核区间

有这么一个绩效考核场景:

每个月 23 号以后对上个月(上个月 24 号到本月 23 号)进行绩效统计考核,但是考核时间不确定,可能是本月月底,也有可能是下个月月初(23 号之前),更可气的是,绩效考核统计表中的数据是年初到现在所有的记录,所以只能计算出考核日期的准确区间来进行筛选。

反正我是经常遇到这种情况,代码不难,但是每次都需要写一遍,太麻烦了,所以分享出来,一是方便自己下次用到的时候Ctrl + CCtrl + V,二是分享给大家,如果有需要,就不用自己想了,直接Ctrl + CCtrl + V就可以了

# 获取今天日期
today = "2019-09-22"

# 分别取得相应的年月日
year, month, day = today.split("-")

year_1 = year_2 = year
if day < "24":
	month_1 = str(int(month) - 2).zfill(2)
	month_2 = str(int(month) - 1).zfill(2)
else:
	month_1 = str(int(month) - 1).zfill(2)
	month_2 = month
if int(month_1) < 1:
	year_1 = str(int(year) - 1)
	month_1 = str(int(month_1) + 12).zfill(2)
if int(month_2) < 1:
	year_2 = str(int(year) - 1)
	month_2 = str(int(month_2) + 12).zfill(2)

# 开始日期
start_date = year_1 + "-" + month_1 + "-24"
# 结束日期
end_date = year_2 + "-" + month_2 + "-23"

print(start_date)
print(end_date)