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

DDD
Release: 2024-11-10 22:06:03
Original
746 people have browsed it

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)
Copy after login

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)
Copy after login

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

2013-07-01 00:00:00
Copy after login

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!

source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template