una sistema semana saber restar obtener numero hora fechas fecha con python iso week-number

sistema - Obtenga la fecha del número de semana ISO en Python



restar fechas con python (2)

% W toma el primer lunes en la semana 1, pero ISO define la semana 1 como el 4 de enero. Entonces el resultado de

datetime.strptime(''2011221'', ''%Y%W%w'')

está desactivado por uno si el primer lunes y el 4 de enero están en diferentes semanas. Este último es el caso si el 4 de enero es un viernes, sábado o domingo. Entonces, lo siguiente debería funcionar:

from datetime import datetime, timedelta, date def tofirstdayinisoweek(year, week): ret = datetime.strptime(''%04d-%02d-1'' % (year, week), ''%Y-%W-%w'') if date(year, 1, 4).isoweekday() > 4: ret -= timedelta(days=7) return ret

Posible duplicado:
¿Cuál es la mejor manera de encontrar el inverso de datetime.isocalendar ()?

Tengo un número de año y semana ISO 8601, y necesito traducir esto a la fecha del primer día de esa semana (lunes). ¿Cómo puedo hacer esto?

datetime.strptime() toma una directiva %W y una directiva %U , pero ninguna cumple con las reglas de día de la semana ISO 8601 que usa datetime.isocalendar() .

Actualización: Python 3.6 admite las directivas %G , %V y %u también presentes en libc, lo que permite esta línea única:

>>> datetime.strptime(''2011 22 1'', ''%G %V %u'') datetime.datetime(2011, 5, 30, 0, 0)


Con el módulo isoweek puedes hacerlo con:

from isoweek import Week d = Week(2011, 40).monday()