การแยกวิเคราะห์และการจัดรูปแบบ
strftime และ strptime
การแยกวิเคราะห์และการจัดรูปแบบ เป็นบทเรียน Ruby Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Ruby Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Ruby Academy มีบทเรียนทั้งหมด 4 บทเรียน
การจัดรูปแบบด้วย strftime
strftime แปลง Time หรือ Date เป็นสตริงที่จัดรูปแบบแล้ว โดยใช้คำสั่งจัดรูปแบบที่ขึ้นต้นด้วย %
t = Time.new(2026, 5, 30, 14, 5, 9)
puts(t.strftime('%Y-%m-%d'))
puts(t.strftime('%H:%M:%S'))คำสั่งวันที่ที่ใช้บ่อย
คำสั่งวันที่ที่มีประโยชน์:
%Yปี 4 หลัก,%yปี 2 หลัก%mหมายเลขเดือน,%Bชื่อเดือนแบบเต็ม%dวันในเดือน,%jวันที่นับจากต้นปี
t = Time.new(2026, 5, 30)
puts(t.strftime('%B %d, %Y'))
puts(t.strftime('%y/%m/%d'))คำสั่งเวลาที่ใช้บ่อย
คำสั่งนาฬิกาที่มีประโยชน์:
%Hรูปแบบ 24 ชั่วโมง,%Iรูปแบบ 12 ชั่วโมง%Mนาที,%Sวินาที%pAM/PM
t = Time.new(2026, 5, 30, 14, 30)
puts(t.strftime('%I:%M %p'))
puts(t.strftime('%H:%M'))วันในสัปดาห์และชื่อเรียก
%A คือชื่อวันในสัปดาห์แบบเต็ม ส่วน %a คือชื่อย่อ %b คือชื่อเดือนแบบย่อ
t = Time.new(2026, 5, 30)
puts(t.strftime('%A'))
puts(t.strftime('%a %b %d'))การเติมช่องว่างและแฟล็ก
แทรกแฟล็กระหว่าง % กับคำสั่ง: - เอาการเติมช่องว่างออก, 0 เติมด้วยเลขศูนย์, _ เติมด้วยช่องว่าง
t = Time.new(2026, 5, 5, 9, 0)
puts(t.strftime('%-d/%-m'))
puts(t.strftime('%H:%M'))ผลลัพธ์ ISO 8601
สำหรับประทับเวลาที่ใช้งานร่วมกันระหว่างระบบได้ ให้ใช้ iso8601 หรือรูปแบบ %FT%T%z ISO 8601 เป็นมาตรฐานสำหรับส่วนต่อประสานโปรแกรมประยุกต์
require 'time'
t = Time.new(2026, 5, 30, 14, 0, 0, '+00:00')
puts(t.utc.iso8601)การแยกวิเคราะห์ด้วย Date.parse
Date.parse อ่านรูปแบบสตริงวันที่ที่ใช้กันทั่วไปได้หลายแบบ และคาดเดาโครงสร้างให้ สะดวกแต่ไม่เคร่งครัด
require 'date'
puts(Date.parse('2026-05-30'))
puts(Date.parse('30 May 2026'))การแยกวิเคราะห์ด้วย Time.parse
เรียกใช้ time เพื่อเพิ่ม Time.parse ซึ่งอ่านการประทับเวลาแบบเต็ม รวมถึงนาฬิกา
require 'time'
t = Time.parse('2026-05-30 14:30:00')
puts(t.hour)
puts(t.min)การแยกวิเคราะห์แบบเคร่งครัดด้วย strptime
เมื่อคุณทราบรูปแบบที่แน่นอน ให้ใช้ strptime ซึ่งใช้คำสั่งเดียวกับ strftime และล้มเหลวเมื่อข้อมูลนำเข้าไม่ตรงรูปแบบ จึงปลอดภัยกว่า
require 'date'
d = Date.strptime('30/05/2026', '%d/%m/%Y')
puts(d.year)
puts(d.month)strptime สำหรับ Time
Time.strptime แยกวิเคราะห์การประทับเวลาตามรูปแบบที่ทราบ แล้วแปลงเป็น Time
require 'time'
t = Time.strptime('2026-05-30 14:05', '%Y-%m-%d %H:%M')
puts(t.hour)
puts(t.min)parse เทียบกับ strptime
หลักการโดยทั่วไป:
- ใช้
parseสำหรับข้อความที่ยืดหยุ่นและผู้ใช้ป้อนเอง - ใช้
strptimeเมื่อรูปแบบตายตัวและคุณต้องการปฏิเสธข้อมูลอื่นทั้งหมด
require 'date'
puts(Date.parse('May 30 2026').iso8601)
puts(Date.strptime('2026-05-30', '%Y-%m-%d').iso8601)ตรวจสอบความเข้าใจ
คำสั่งใดสร้างค่ารูปแบบ 24 ชั่วโมงที่เติมเลขศูนย์ใน strftime
ทบทวน: การแยกวิเคราะห์และการจัดรูปแบบ
คุณสามารถแปลงไปมาระหว่างสตริงกับวันที่ได้:
strftimeจัดรูปแบบด้วยคำสั่ง%%Y %m %d %H %M %S %A %Bและแฟล็กต่าง ๆparseยืดหยุ่น ส่วนstrptimeเคร่งครัด- ใช้
iso8601สำหรับผลลัพธ์ที่เหมาะกับส่วนต่อประสานโปรแกรมประยุกต์
require 'date'
puts(Date.strptime('2026-05-30', '%Y-%m-%d').strftime('%A, %B %-d'))คำถามที่พบบ่อย
บทเรียน “การแยกวิเคราะห์และการจัดรูปแบบ” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การแยกวิเคราะห์และการจัดรูปแบบ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Ruby Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Ruby Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การแยกวิเคราะห์และการจัดรูปแบบ”
strftime และ strptime คุณปฏิบัติ Ruby Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Ruby Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Ruby Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “การแยกวิเคราะห์และการจัดรูปแบบ” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Ruby Academy นี้ได้ไหม
ได้ บทเรียน Ruby Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- คลาสเวลาและวันที่
- การแยกวิเคราะห์และการจัดรูปแบบ
- การคำนวณเวลา
- เขตเวลา