การจัดรูปแบบและการแยกวิเคราะห์
ใช้ strftime และ strptime
การจัดรูปแบบและการแยกวิเคราะห์ เป็นบทเรียน Python Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Python Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Python Academy มีบทเรียนทั้งหมด 4 บทเรียน
เหตุใดจึงต้องจัดรูปแบบและแยกวิเคราะห์
คอมพิวเตอร์จัดเก็บวันที่เป็นอ็อบเจ็กต์ แต่มนุษย์อ่านวันที่เป็นข้อความ การจัดรูปแบบ จะเปลี่ยนวันเวลาให้เป็นสตริง ส่วน การแยกวิเคราะห์ จะเปลี่ยนสตริงกลับเป็นวันเวลา
strftime= สตริง FROM เวลา (จัดรูปแบบ)strptime= สตริง PARSE เวลา (แยกวิเคราะห์)
from datetime import datetime
now = datetime(2026, 5, 30, 14, 5)
print(now)การใช้ strftime ครั้งแรก
เรียกใช้ .strftime(format) กับวันเวลา รหัสรูปแบบจะเริ่มต้นด้วย %: %Y คือปีแบบ 4 หลัก %m คือเดือน และ %d คือวัน
from datetime import datetime
d = datetime(2026, 5, 30)
print(d.strftime('%Y-%m-%d'))การจัดรูปแบบส่วนเวลา
รหัสเวลา: %H คือชั่วโมง (00-23) %M คือนาที และ %S คือวินาที คุณสามารถผสมรหัสเหล่านี้กับข้อความตามตัวอักษรได้ตามต้องการ
from datetime import datetime
d = datetime(2026, 5, 30, 9, 7, 3)
print(d.strftime('%H:%M:%S'))ชื่อที่อ่านง่ายสำหรับผู้ใช้
รหัสบางรายการจะแสดงชื่อ: %A คือชื่อวันในสัปดาห์แบบเต็ม %B คือชื่อเดือนแบบเต็ม และ %b คือชื่อเดือนแบบย่อ
from datetime import datetime
d = datetime(2026, 5, 30)
print(d.strftime('%A, %B %d, %Y'))นาฬิกาแบบ 12 ชั่วโมงและ AM/PM
ใช้ %I สำหรับชั่วโมงแบบ 12 ชั่วโมง และ %p สำหรับ AM หรือ PM ซึ่งมักใช้ในการแสดงผลที่ผู้ใช้มองเห็น
from datetime import datetime
d = datetime(2026, 5, 30, 14, 30)
print(d.strftime('%I:%M %p'))การแยกวิเคราะห์ด้วย strptime
datetime.strptime(text, format) อ่านสตริงให้เป็นอ็อบเจ็กต์วันเวลา รูปแบบต้องตรงกับข้อความทุกประการ โดยต้องตรงกันทั้งรหัส
from datetime import datetime
text = '2026-05-30'
d = datetime.strptime(text, '%Y-%m-%d')
print(d)
print(type(d))การแยกวิเคราะห์วันที่และเวลาพร้อมกัน
ใส่รหัสเวลาไว้ในรูปแบบเพื่อแยกวิเคราะห์ตราประทับเวลาแบบเต็ม ตัวคั่นทุกตัวในข้อความ เช่น ขีดกลาง ช่องว่าง และเครื่องหมายทวิภาค ต้องปรากฏในรูปแบบด้วย
from datetime import datetime
text = '30/05/2026 14:05'
d = datetime.strptime(text, '%d/%m/%Y %H:%M')
print(d.year, d.hour, d.minute)ไปกลับ: แยกวิเคราะห์แล้วจัดรูปแบบ
กระบวนการทำงานที่ใช้บ่อยคือ แยกวิเคราะห์ข้อความขาเข้า ใช้ตรรกะบางอย่าง แล้วจัดรูปแบบใหม่เพื่อส่งออก แม้จะเปลี่ยนเป็นรูปแบบการจัดวางแบบอื่นก็ตาม
from datetime import datetime
raw = '2026-05-30'
d = datetime.strptime(raw, '%Y-%m-%d')
pretty = d.strftime('%B %d, %Y')
print(pretty)ทางลัดสำหรับรูปแบบ ISO
.isoformat() จะสร้างสตริงตามมาตรฐาน ISO 8601 และ datetime.fromisoformat() จะอ่านสตริงนั้นกลับมาโดยไม่ต้องใช้รหัสรูปแบบ
from datetime import datetime
d = datetime(2026, 5, 30, 14, 5)
s = d.isoformat()
print(s)
back = datetime.fromisoformat(s)
print(back == d)การจัดการข้อผิดพลาดในการแยกวิเคราะห์
หากข้อความไม่ตรงกับรูปแบบ strptime จะส่งข้อผิดพลาด ValueError ให้ครอบด้วย try/except เมื่ออินพุตอาจมีรูปแบบไม่ถูกต้อง
from datetime import datetime
try:
datetime.strptime('not-a-date', '%Y-%m-%d')
except ValueError as e:
print('Could not parse:', e)วันในปีและรหัสอื่น ๆ
รหัสเพิ่มเติม: %j คือวันที่นับจากต้นปี (001-366) และ %w คือวันในสัปดาห์ในรูปตัวเลข (0=วันอาทิตย์) รหัสเหล่านี้มีประโยชน์สำหรับรายงาน
from datetime import datetime
d = datetime(2026, 5, 30)
print('Day of year:', d.strftime('%j'))ตรวจสอบความเข้าใจ
คุณมีสตริง '2026-05-30' การเรียกใช้ใดจะแปลงสตริงนี้เป็นอ็อบเจ็กต์ datetime
ทบทวน: การจัดรูปแบบและการแยกวิเคราะห์
โปรดจำไว้ว่า:
strftime(fmt)เปลี่ยนวันเวลาเป็นสตริง INTOstrptime(text, fmt)เปลี่ยนสตริงเป็นวันเวลา INTO- รหัสที่ใช้บ่อย:
%Y %m %dสำหรับวันที่ และ%H %M %Sสำหรับเวลา%A %Bสำหรับชื่อ isoformat()และfromisoformat()จัดการมาตรฐาน ISO โดยอัตโนมัติ
from datetime import datetime
d = datetime.strptime('2026-05-30 14:05', '%Y-%m-%d %H:%M')
print(d.strftime('%A at %I:%M %p'))คำถามที่พบบ่อย
บทเรียน “การจัดรูปแบบและการแยกวิเคราะห์” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การจัดรูปแบบและการแยกวิเคราะห์” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Python Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Python Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การจัดรูปแบบและการแยกวิเคราะห์”
ใช้ strftime และ strptime คุณปฏิบัติ Python Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Python Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Python Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน
บทเรียน “การจัดรูปแบบและการแยกวิเคราะห์” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Python Academy นี้ได้ไหม
ได้ บทเรียน Python Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- date, time, datetime
- Timedelta และการคำนวณ
- การจัดรูปแบบและการแยกวิเคราะห์
- เขตเวลาด้วย zoneinfo