2013-06-13 10 views

risposta

53

Un numero di settimana non è sufficiente per generare una data; hai bisogno anche di un giorno della settimana. Aggiungere un default:

import datetime 
d = "2013-W26" 
r = datetime.datetime.strptime(d + '-0', "%Y-W%W-%w") 
print(r) 

Il modello -0 e -%w dice al parser di scegliere la domenica in quella settimana. Questo produce:

2013-07-07 00:00:00 

È possibile scegliere il proprio giorno della settimana, qualunque sia il caso migliore; il modello %W basa le settimane da lunedì, quindi forse -1 è un valore predefinito migliore qui.

Vedere la sezione strftime() and strptime() behaviour nella documentazione, nota 4:

Quando viene utilizzato con il metodo di strptime(), %U e %W sono usati solo nei calcoli quando vengono specificati il ​​giorno della settimana e l'anno.

Problemi correlati