Home  >  Article  >  Backend Development  >  How to Parse Dates from Week Numbers Using datetime.strptime()?

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

DDD
DDDOriginal
2024-11-10 22:06:03740browse

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

Datetime Strptime() and Week Numbers

This query addresses an issue with utilizing datetime.strptime() to parse a date from a week number. The following code snippet demonstrates the problem:

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

The expected output is "2013-01-01 00:00:00", but the code yields an error due to insufficient information.

The Solution

To resolve this issue, we need to provide a specific day of the week for the specified week number. We can do this by adding a default day, such as Monday:

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

The '-1' in the format string indicates Monday. This results in the correct output of:

2013-07-01 00:00:00

Key Points

  • Week numbers (%W and %U) in strptime() require both the day of the week and the year to be specified for accurate parsing.
  • Monday is typically used as the first day of the week when parsing week numbers.
  • For ISO week dates, use the directives %G-W%V-%u instead (requires Python 3.6 or newer).

The above is the detailed content of How to Parse Dates from Week Numbers Using datetime.strptime()?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn