輸出每個月的第一天、最後一天:
for x in xrange(1, 13):
dt_start = (datetime.datetime(2016, x, 1)).strftime("%Y%m%d")
if 12 == x:
dt_end = (datetime.datetime(2016, 12, 31)).strftime("%Y%m%d")
else:
dt_end = (datetime.datetime(2016, x + 1, 1) - datetime.timedelta(days=1)).strftime("%Y%m%d")
print(dt_start, dt_end)
獲取特定日期所在月的最後一天:
def last_day_of_month(any_day):
"""
获取获得一个月中的最后一天
:param any_day: 任意日期
:return: string
"""
next_month = any_day.replace(day=28) + datetime.timedelta(days=4) # this will never fail
return next_month - datetime.timedelta(days=next_month.day)
print(last_day_of_month(datetime.datetime.strptime('2022/02/22', '%Y/%m/%d')))
判斷特定日期是否是所在月最後一天:
def is_last_day_of_month(any_day):
"""
判断是否一个月中的最后一天
:param any_day: 任意日期
:return: boolean
"""
next_month = any_day.replace(day=28) + datetime.timedelta(days=4) # this will never fail
if any_day == next_month - datetime.timedelta(days=next_month.day):
return True
return False
print(is_last_day_of_month(datetime.datetime.strptime('2022/02/28', '%Y/%m/%d')))
內容是網上找的並進行拼湊的,當筆記記錄的,所以沒有留原文鏈接。