0Pricing
Python Academy · บทเรียน

การจัดรูปแบบและการแยกวิเคราะห์

ใช้ 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) เปลี่ยนวันเวลาเป็นสตริง INTO
  • strptime(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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. date, time, datetime
  2. Timedelta และการคำนวณ
  3. การจัดรูปแบบและการแยกวิเคราะห์
  4. เขตเวลาด้วย zoneinfo
← กลับไปที่ Python Academy