Maison >développement back-end >Tutoriel Python >Comment analyser les dates à partir des numéros de semaine à l'aide de datetime.strptime() ?

Comment analyser les dates à partir des numéros de semaine à l'aide de datetime.strptime() ?

DDD
DDDoriginal
2024-11-10 22:06:03786parcourir

How to Parse Dates from Week Numbers Using datetime.strptime()?

Datetime Strptime() et numéros de semaine

Cette requête résout un problème lié à l'utilisation de datetime.strptime() pour analyser une date d'une semaine nombre. L'extrait de code suivant illustre le problème :

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

Le résultat attendu est "2013-01-01 00:00:00", mais le code génère une erreur en raison d'informations insuffisantes.

La solution

Pour résoudre ce problème, nous devons fournir un jour spécifique de la semaine pour le numéro de semaine spécifié. Nous pouvons le faire en ajoutant un jour par défaut, tel que lundi :

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

Le '-1' dans la chaîne de format indique lundi. Cela se traduit par la sortie correcte de :

2013-07-01 00:00:00

Points clés

  • Les numéros de semaine (%W et %U) dans strptime() nécessitent à la fois le jour de la semaine et l'année à spécifier pour une analyse précise.
  • Le lundi est généralement utilisé comme premier jour de la semaine lors de l'analyse des numéros de semaine.
  • Pour les dates de semaine ISO, utilisez les directives %G-W%V-%u à la place (nécessite Python 3.6 ou plus récent).

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn