Extraction de la date à partir du numéro de semaine
Lors de la tentative de récupération d'une date à partir d'un numéro de semaine à l'aide du code suivant :
import datetime d = "2013-W26" r = datetime.datetime.strptime(d, "%Y-W%W") print(r)
une erreur se produit car un numéro de semaine seul est insuffisant pour générer une date précise. Pour résoudre ce problème, un jour spécifique de la semaine doit également être spécifié.
Modifiez le code en ajoutant un jour de la semaine par défaut, tel que lundi, à la chaîne :
import datetime d = "2013-W26" r = datetime.datetime.strptime(d + '-1', "%Y-W%W-%w") print(r)
Les modèles -1 et -%w dans la chaîne de format demandent à l'analyseur de sélectionner le lundi de la semaine spécifiée. Ce code mis à jour affiche désormais correctement :
2013-07-01 00:00:00
Il est important de noter que la directive %W suppose que lundi est le premier jour de la semaine conformément au comportement strftime() et strptime() décrit dans le documentation. Tout écart par rapport à cette hypothèse peut conduire à des résultats inattendus.
Pour les cas où le numéro de semaine est une date de semaine ISO, le format %G-W%V-%u doit être utilisé à la place. Cependant, cela nécessite Python version 3.6 ou ultérieure.
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!