python时间处理
- 下个月的同天
def same_day_of_next_month(obj: datetime.date): def last_day_of_current_month(_obj: datetime.date): if _obj.month == 12: first_day_of_next_month = datetime.date(_obj.year + 1, 1, 1) else: first_day_of_next_month = datetime.date(_obj.year, _obj.month + 1, 1) return first_day_of_next_month - datetime.timedelta(1) if obj.month == 12: return datetime.date(obj.year + 1, 1, obj.day) else: last_day_of_next_month = last_day_of_current_month(datetime.date(obj.year, obj.month + 1, 1)) if obj.day > last_day_of_next_month.day: return last_day_of_next_month else: return datetime.date(last_day_of_next_month.year, last_day_of_next_month.month, obj.day) - 上个月的同天
def same_day_of_prev_month(obj: datetime.date): def last_day_of_current_month(_obj: datetime.date): if _obj.month == 12: first_day_of_next_month = datetime.date(_obj.year + 1, 1, 1) else: first_day_of_next_month = datetime.date(_obj.year, _obj.month + 1, 1) return first_day_of_next_month - datetime.timedelta(1) if obj.month == 1: return datetime.date(obj.year - 1, 12, obj.day) else: last_day_of_prev_month = last_day_of_current_month(datetime.date(obj.year, obj.month - 1, 1)) if obj.day > last_day_of_prev_month.day: return last_day_of_prev_month else: return datetime.date(last_day_of_prev_month.year, last_day_of_prev_month.month, obj.day)

浙公网安备 33010602011771号