การตรวจสอบวันที่ที่คุณต้องการทำให้สำเร็จใน 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 | ชื่อเขตเวลา (ไม่มีอักขระหากไม่มีเขตเวลา) |
%% | ตัวอักษร "%" ตามตัวอักษร |