from datetime import daytime
iso_string = str(now[0]).zfill(4) + '_' + str(now[1]).zfill(2) + '_' + str(now[2])
res = datetime.strptime(iso_string, "%G_%V_%u").date()
strptime имеет специальные директивы для номеров недели ISO: "%G_%V_%u"
Из-за проб, кажется, что ведущие нули не имеют большого значения, но официальный стандарт гласитони делают, поэтому обязательно добавьте их с zfill()
.
Это работает только для python> = 3.6, предыдущие версии strptime
кажутся несовместимыми с неделями ISO.
Дляболее ранние версии python, я думаю, что лучше всего использовать модуль isoweek :
from isoweek import Week
res = Week(now[0], now[1]).day(now[2]-1)