บทความนี้สอนเขียน Python เรียงลำดับข้อมูลวันที่ ที่เก็บใน List โดยสอนเขียน 2 แบบคือ เรียงวันที่จากน้อยไปมาก หรือ ASC และเรียงวันที่จากมากไปน้อย หรือ DESC โดยใช้คำสั่ง sort พร้อมแสดงผลลัพธ์ออกสู่หน้าจอ สามารถเขียนโปรแกรมได้ดังนี้
ตัวอย่าง Python เรียงวันที่น้อยไปมาก (ASC)
from datetime import datetime
dates = ["2023-02-15", "2021-01-25", "2022-01-13"]
dates.sort(key=lambda date: datetime.strptime(date, "%Y-%m-%d"))
print(dates)
ผลลัพธ์
['2021-01-25', '2022-01-13', '2023-02-15']
จากตัวอย่าง import datetime จากนั้นเก็บวันที่ไว้ในตัวแปร List ชื่อ dates การเรียงลำดับจะใช้คำสั่ง sort พร้อมกับแปลงวันที่ให้เป็น datetime object เพื่อให้สามารถเปรียบค่าวันที่ได้ด้วยคำสั่ง strptime กรณีเรียงวันที่จากน้อบไปมาก ไม่ต้องกำหนดค่า reverse
ตัวอย่าง Python เรียงวันที่มากไปน้อย (DESC)
from datetime import datetime
dates = ["2023-02-15", "2021-01-25", "2022-01-13"]
dates.sort(key=lambda date: datetime.strptime(date, "%Y-%m-%d"), reverse=True)
print(dates)
ผลลัพธ์
['2023-02-15', '2022-01-13', '2021-01-25']
สำหรับการเรียงจากมากไปน้อย (DESC) ส่วนของโค้ดจะมีการเพิ่ม reverse=True ให้กับคำสั่ง sort เพื่อบอกว่าเป็นการเรียงจากมากไปน้อย
สรุป ในภาษา Python จะใช้คำสั่ง sort ร่วมกับ datetime.strptime เพื่อเรียงลำดับข้อมูลวันที่ ที่เก็บใน List กรณีถ้าเป็นการเรียงวันที่จากมากไปน้อยต้องกำหนด reverse=True แต่ถ้าเป็นการเรียงจากน้อยไปมากไม่ต้องกำหนดค่า reverse