Как пройти в прошлую пятницу?
Код ниже должен вернуться в прошлую пятницу, 16:00:00. Но это возвращаетсяПятница предыдущей недели, Как это исправить?
now = datetime.datetime.now()
test = (now - datetime.timedelta(days=now.weekday()) + timedelta(days=4, weeks=-1))
test = test.replace(hour=16,minute=0,second=0,microsecond=0)
Upd. Сейчас я использую следующий подход - это лучший?
now = datetime.datetime.now()
if datetime.datetime.now().weekday() > 4:
test = (now - datetime.timedelta(days=now.weekday()) + timedelta(days=4))
else:
test = (now - datetime.timedelta(days=now.weekday()) + timedelta(days=4, weeks=-1))
test = test.replace(hour=16,minute=0,second=0,microsecond=0)
UPD2. Просто чтобы привести пример. Предположим, что сегодняOct 5, 2012, В случае, если текущее время равно или меньше, чем16:00 должно вернутьсяSep 28, 2012, иначе -Oct 5, 2012.