+def first_of_month(date, month):
+ date = date.replace(day=1)
+ if month == 0:
+ return date
+ if month == 1:
+ return (date + datetime.timedelta(days=42)).replace(day=1)
+ if month == -1:
+ return (date - datetime.timedelta(days=1)).replace(day=1)
+ assert False