Je suis en train de convertir un yyyyww qui commence réellement comme un objet chaîne je pense à est comme 201731. Je veux capturer les 6 dernières semaines, y compris son auto.Retour liste ISO Semaine où il traverse une autre année en utilisant python
def generate_6_last_week(yearweek):
weeks = [int(yearweek)]
date = time.mktime(datetime.strptime(str(yearweek)+"0","%Y%W%w").timetuple())
for i in range(1,6):
date = date-604800 # 60*60*24*7
weeks.append(int(datetime.fromtimestamp(int(date)).strftime('%Y%W')))
return weeks
generate_6_last_week(201731)
de sorte que la sortie pour 201731 devrait être:
[201731, 201730, 201729, 201728, 201727, 201726]
et cela semble fonctionner, le problème est si je le tester avec une année de croisement comme 201702 retourne ceci:
[201702, 201701, 201700, 201651, 201650, 201649]
Ce qui semble également très bon, mais j'en ai besoin dans les semaines ISO donc il ne devrait pas y avoir une semaine 00 je pense et la dernière semaine d'une année devrait être 53 ou 52 mais pas 51.
Des idées pour l'adapter?
merci pour la solution de contournement M.Hamel mais ont besoin d'une manière plus claire et plus robuste. Je pense que j'ai trouvé un autre hack mais nécessite le paquet isoweek. – IcemanBerlin