การตรวจสอบวันที่ที่คุณต้องการทำให้สำเร็จใน python ส่วนใหญ่จะขึ้นอยู่กับรูปแบบของวันที่ที่คุณมี ฟังก์ชัน strptime จากไลบรารี datetime สามารถใช้เพื่อแยกสตริงเป็นวันที่/เวลาได้
ตัวอย่าง
import datetime
date_string = '2017-12-31'
date_format = '%Y-%m-%d'
try:
date_obj = datetime.datetime.strptime(date_string, date_format)
print(date_obj)
except ValueError:
print("Incorrect data format, should be YYYY-MM-DD") ผลลัพธ์
สิ่งนี้จะให้ผลลัพธ์ -
2017-12-31 00:00:00
คุณสามารถใช้คำสั่งอื่นๆ เพื่อแยกวิเคราะห์วันที่ได้ ต่อไปนี้เป็นคำสั่งที่สนับสนุนโดยสตริงรูปแบบของ strptime()
| คำสั่ง | ความหมาย |
| %a | ชื่อวันทำงานแบบย่อของสถานที่ |
| %A | ชื่อเต็มในวันทำงานของโลคัล |
| %b | ชื่อเดือนแบบย่อของโลแคล |
| %B | ชื่อเดือนเต็มของโลคัล |
| %c | การแสดงวันที่และเวลาที่เหมาะสมของโลคัล |
| %d | วันของเดือนเป็นเลขฐานสิบ [01,31] |
| %H | ชั่วโมง (นาฬิกาแบบ 24 ชั่วโมง) เป็นเลขฐานสิบ [00,23] |
| %I | ชั่วโมง (นาฬิกา 12 ชั่วโมง) เป็นเลขฐานสิบ [01,12] |
| %j | วันของปีเป็นเลขทศนิยม [001,366] |
| %m | เดือนเป็นเลขฐานสิบ [01,12] |
| %M | นาทีเป็นเลขฐานสิบ [00,59] |
| %p | Locale มีค่าเท่ากับ AM หรือ PM |
| %S | วินาทีเป็นเลขทศนิยม [00,61] |
| %U | เลขสัปดาห์ของปี (วันอาทิตย์เป็นวันแรกของสัปดาห์) เป็นเลขฐานสิบ [00,53] ทุกวันในปีใหม่ก่อนวันอาทิตย์แรกจะถือเป็นสัปดาห์ที่ 0 |
| %w | วันธรรมดาเป็นเลขฐานสิบ [0(วันอาทิตย์),6] |
| %W | เลขสัปดาห์ของปี (วันจันทร์เป็นวันแรกของสัปดาห์) เป็นเลขฐานสิบ [00,53] ทุกวันในปีใหม่ก่อนหน้าวันจันทร์แรกจะถือเป็นสัปดาห์ที่ 0 |
| %x | การแสดงวันที่ที่เหมาะสมของโลคัล |
| %X | การแสดงเวลาที่เหมาะสมของโลคัล |
| %y | ปีที่ไม่มีศตวรรษเป็นเลขฐานสิบ [00,99] |
| %Y | ปีที่มีศตวรรษเป็นเลขฐานสิบ |
| %Z | ชื่อเขตเวลา (ไม่มีอักขระหากไม่มีเขตเวลา) |
| %% | ตัวอักษร "%" ตามตัวอักษร |