Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana Menghuraikan Tarikh dari Nombor Minggu Menggunakan datetime.strptime()?

Bagaimana Menghuraikan Tarikh dari Nombor Minggu Menggunakan datetime.strptime()?

DDD
DDDasal
2024-11-10 22:06:03740semak imbas

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

Datetime Strptime() dan Nombor Minggu

Pertanyaan ini menangani isu dengan menggunakan datetime.strptime() untuk menghuraikan tarikh dari seminggu nombor. Coretan kod berikut menunjukkan masalah:

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

Output yang dijangkakan ialah "2013-01-01 00:00:00", tetapi kod tersebut menghasilkan ralat kerana maklumat yang tidak mencukupi.

Penyelesaian

Untuk menyelesaikan masalah ini, kami perlu menyediakan hari tertentu dalam minggu untuk nombor minggu yang ditentukan. Kita boleh melakukannya dengan menambahkan hari lalai, seperti hari Isnin:

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

'-1' dalam rentetan format menunjukkan hari Isnin. Ini menghasilkan output yang betul bagi:

2013-07-01 00:00:00

Mata Utama

  • Nombor minggu (%W dan %U) dalam strptime() memerlukan kedua-dua hari dalam minggu dan tahun yang akan ditentukan untuk penghuraian yang tepat.
  • Isnin biasanya digunakan sebagai hari pertama dalam minggu apabila menghuraikan nombor minggu.
  • Untuk tarikh minggu ISO, gunakan arahan %G-W%V-%u sebaliknya (memerlukan Python 3.6 atau lebih baharu).

Atas ialah kandungan terperinci Bagaimana Menghuraikan Tarikh dari Nombor Minggu Menggunakan datetime.strptime()?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn