โดยหลักแล้วคุณจะต้องการแปลงวันที่ของ Javascript เป็นวัตถุวันที่ของ Python เมื่อคุณส่งผ่านการเชื่อมต่อเครือข่าย เช่น คำขอ AJAX หรือข้อความ IPC (บน nodejs) การแสดงนี้จะอยู่ในรูปแบบสตริง และคุณสามารถเลือกส่งในรูปแบบใดก็ได้ที่คุณต้องการ คุณสามารถใช้ฟังก์ชัน strptime เพื่อแยกสตริงกลับไปยังอ็อบเจ็กต์วันที่ของ Python มีวิธีมาตรฐานเช่น ISO 8061 ในการส่งและรับวัตถุวันที่และเวลา ในกรณีนี้ หากเราพิจารณาตัวอย่างง่ายๆ จะเข้าใจได้ง่ายขึ้นเล็กน้อย
ตัวอย่าง
import datetime
# The string that you get from Javascript
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 | Hour (24-hour clock) เป็นเลขฐานสิบ [00,23] |
| %I | Hour (12-hour clock) เป็นเลขฐานสิบ [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 | ชื่อเขตเวลา (ไม่มีอักขระหากไม่มีเขตเวลา) |
| %% | ตัวอักษร "%" |