Déterminer une date à partir d'un numéro de semaine
En Python, l'utilisation du module datetime pour extraire une date à partir d'un numéro de semaine nécessite un contexte supplémentaire pour déterminer avec précision le jour spécifique. Le code fourni :
import datetime d = "2013-W26" r = datetime.datetime.strptime(d, "%Y-W%W") print(r)
affiche "2013-01-01 00:00:00" car le numéro de semaine est insuffisant pour spécifier une date unique. Pour résoudre ce problème, vous devez indiquer un jour spécifique de la semaine au sein de cette semaine.
Code corrigé
import datetime d = "2013-W26" r = datetime.datetime.strptime(d + '-1', "%Y-W%W-%w") print(r)
Dans ce code corrigé, -1 est ajouté au numéro de la semaine, indiquant effectivement le premier jour de cette semaine (lundi), spécifié par -%w. Cela génère "2013-07-01 00:00:00", correspondant au lundi de la 26ème semaine de 2013.
Notes de formatage
Lors de l'utilisation de %W en tant que directive de formatage, lundi est considéré comme le premier jour de la semaine. Si un jour de la semaine différent est souhaité, vous pouvez utiliser une directive alternative.
Date de la semaine ISO
Si le numéro de semaine fourni est au format de date de la semaine ISO , qui commence lundi, vous devez utiliser un ensemble différent de directives de formatage :
d = "2013-W26" r = datetime.datetime.strptime(d + '-1', "%G-W%V-%u")
Ces directives nécessitent Python 3.6 ou version ultérieure pour des raisons de compatibilité.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!