Ruby Academy · บทเรียน

คลาสเวลาและวันที่

ทำงานกับเวลา

บทเรียน 1 จาก 413 ขั้นตอน

คลาสเวลาและวันที่ เป็นบทเรียน Ruby Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Ruby Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Ruby Academy มีบทเรียนทั้งหมด 4 บทเรียน

คลาสเวลา

คลาส Time ในตัวของ Ruby ใช้แทนช่วงเวลาหนึ่ง Time.now ให้เวลาปัจจุบันพร้อมทั้งวันที่และเวลาบนนาฬิกา

t = Time.now
puts t.class
puts(t.year)

การสร้างเวลาที่กำหนดเอง

Time.new (หรือ Time.local) สร้างเวลาจากส่วนต่าง ๆ ได้แก่ ปี เดือน วัน ชั่วโมง นาที และวินาที

t = Time.new(2026, 5, 30, 14, 30, 0)
puts t.year
puts t.hour
puts t.min

การอ่านส่วนประกอบของเวลา

Time แสดงแต่ละส่วนผ่านเมธอดต่าง ๆ เช่น year, month, day, hour, min, sec และ wday (วันในสัปดาห์ โดย 0 = วันอาทิตย์)

t = Time.new(2026, 5, 30)
puts(t.month)
puts(t.day)
puts(t.wday)

วินาทีตั้งแต่จุดเริ่มต้น

ภายในระบบ Time คือจำนวนวินาทีนับตั้งแต่ยุคเริ่มต้นของ Unix (1 มกราคม 1970 UTC) ใช้ to_i เพื่อรับค่าดังกล่าว และใช้ Time.at เพื่อแปลงกลับ

secs = Time.new(2026, 1, 1, 0, 0, 0, '+00:00').to_i
puts secs
puts(Time.at(secs).utc.year)

คลาสวันที่

หากต้องการทำงานกับปฏิทินโดยไม่ต้องใช้เวลา ให้เรียกใช้ไลบรารี date และใช้คลาส Date

require 'date'
d = Date.new(2026, 5, 30)
puts d.class
puts(d.to_s)

วันนี้และเวลาปัจจุบัน

Date.today ให้วันที่ปัจจุบันตามปฏิทิน ส่วน DateTime.now จะรวมเวลาของวันนั้นด้วย

require 'date'
puts(Date.today.class)
puts(DateTime.now.class)

วันในสัปดาห์

Date มีเพรดิเคตและชื่อวันในสัปดาห์ที่อ่านเข้าใจได้ง่าย

require 'date'
d = Date.new(2026, 5, 30)
puts(d.saturday?)
puts(d.wday)

Date เทียบกับ Time เทียบกับ DateTime

เลือกคลาสที่เหมาะสม:

  • Date วันที่ตามปฏิทินเท่านั้น ไม่มีนาฬิกา
  • Time จุดเวลาที่แม่นยำพร้อมเขตเวลา รวดเร็ว
  • DateTime วันที่บวกเวลา เป็นส่วนหนึ่งของไลบรารีวันที่

โค้ดรูบีสมัยใหม่มักเลือกใช้ Time

require 'date'
puts(Date.new(2026, 5, 30))
puts(Time.new(2026, 5, 30, 9, 0).hour)

ปีอธิกสุรทิน

Date.leap? ใช้บอกว่าปีใดเป็นปีอธิกสุรทิน ซึ่งมีผลต่อจำนวนวันในเดือนกุมภาพันธ์

require 'date'
puts(Date.leap?(2024))
puts(Date.leap?(2026))

UTC และเวลาท้องถิ่น

Time สามารถอยู่ในเขตเวลาท้องถิ่นหรือ UTC ได้ utc จะแปลงเป็น UTC ส่วน localtime จะแปลงกลับเป็นเวลาท้องถิ่น utc? ใช้ตรวจสอบโหมดปัจจุบัน

t = Time.new(2026, 5, 30, 12, 0, 0, '+03:00')
puts(t.utc.hour)
puts(t.utc?)

การเปรียบเทียบเวลา

ออบเจ็กต์ Time และ Date สามารถเปรียบเทียบด้วย <, > และ == ได้ คุณจึงจัดเรียงหรือตรวจสอบลำดับได้โดยตรง

a = Time.new(2026, 1, 1)
b = Time.new(2026, 6, 1)
puts(a < b)
puts([b, a].min.month)

ตรวจสอบความเข้าใจ

คลาสใดใช้แทนวันที่ตามปฏิทินที่ไม่มีส่วนประกอบของเวลาในแต่ละวัน

ทบทวน: คลาส Time และ Date

คุณได้เรียนรู้ชนิดข้อมูลหลักสำหรับวันที่และเวลา:

  • Time.now / Time.new สำหรับจุดเวลา
  • ส่วนประกอบต่าง ๆ ได้แก่ ปี เดือน วัน ชั่วโมง นาที วินาที และวันในสัปดาห์
  • วินาทีนับจากยุคผ่าน to_i และ Time.at
  • Date / DateTime จากไลบรารีวันที่
  • UTC เทียบกับเวลาท้องถิ่น การเปรียบเทียบ และปีอธิกสุรทิน
require 'date'
puts(Date.today.year)
เริ่มต้นได้ฟรี

เรียนรู้ Ruby ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
29
บทเรียน
109

คำถามที่พบบ่อย

บทเรียน “คลาสเวลาและวันที่” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “คลาสเวลาและวันที่” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Ruby Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Ruby Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “คลาสเวลาและวันที่”

ทำงานกับเวลา คุณปฏิบัติ Ruby Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Ruby Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Ruby Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน

บทเรียน “คลาสเวลาและวันที่” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Ruby Academy นี้ได้ไหม

ได้ บทเรียน Ruby Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

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

  1. คลาสเวลาและวันที่
  2. การแยกวิเคราะห์และการจัดรูปแบบ
  3. การคำนวณเวลา
  4. เขตเวลา
← กลับไปที่ Ruby Academy