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

การประทับเวลาและการคำนวณวันที่

คำนวณความแตกต่างและส่วนเหลื่อมระหว่างวันที่

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

ประทับเวลา

ภายในระบบ วันที่จัดเก็บเป็น ประทับเวลา ซึ่งคือจำนวนมิลลิวินาทีนับตั้งแต่ยุคยูนิกซ์ เวลาเที่ยงคืนของวันที่ 1 มกราคม 1970 ตามเวลา UTC

const d = new Date("1970-01-01T00:00:00Z")
console.log(d.getTime())

Date.now

Date.now ส่งคืนประทับเวลาปัจจุบันเป็นมิลลิวินาทีโดยไม่ต้องสร้างออบเจ็กต์วันที่ จึงมีประสิทธิภาพสำหรับการวัดเวลา

const t = Date.now()
console.log(typeof t)
console.log(t > 0)

getTime

เมธอด getTime ส่งคืนออบเจ็กต์วันที่ในรูปประทับเวลาเป็นมิลลิวินาที ซึ่งมีประโยชน์สำหรับการเปรียบเทียบและการคำนวณ

const d = new Date(2024, 0, 1)
console.log(typeof d.getTime())

การเปรียบเทียบวันที่

เปรียบเทียบวันที่สองค่าโดยเปรียบเทียบประทับเวลาของทั้งคู่ วันที่ก่อนหน้าจะมีค่าตัวเลขน้อยกว่า

const a = new Date(2024, 0, 1)
const b = new Date(2024, 5, 1)
console.log(a.getTime() < b.getTime())

ความแตกต่างเป็นมิลลิวินาที

การลบวันที่หนึ่งออกจากอีกวันที่หนึ่งจะแปลงทั้งสองค่าเป็นประทับเวลาโดยอัตโนมัติ และให้ผลต่างเป็นมิลลิวินาที

const a = new Date(2024, 0, 1)
const b = new Date(2024, 0, 2)
console.log(b - a)

การแปลงเป็นจำนวนวัน

หารผลต่างเป็นมิลลิวินาทีด้วยจำนวนมิลลิวินาทีในหนึ่งวัน เพื่อหาช่องว่างเป็นจำนวนวัน

const a = new Date(2024, 0, 1)
const b = new Date(2024, 0, 11)
const ms = b - a
const days = ms / (1000 * 60 * 60 * 24)
console.log(days)

การเพิ่มเวลา

หากต้องการเพิ่มเวลา ให้แปลงเป็นประทับเวลา บวกจำนวนมิลลิวินาที แล้วสร้างวันที่ใหม่จากผลลัพธ์

const start = new Date(2024, 0, 1)
const oneDay = 1000 * 60 * 60 * 24
const next = new Date(start.getTime() + oneDay)
console.log(next.getDate())

setDate สำหรับการคำนวณตามปฏิทิน

เมธอด setDate ปรับวันที่ในเดือน และเลื่อนไปยังเดือนถัดไปอย่างถูกต้องเมื่อจำเป็น

const d = new Date(2024, 0, 31)
d.setDate(d.getDate() + 1)
console.log(d.getMonth())
console.log(d.getDate())

การวัดเวลาที่ใช้ไป

เรียกใช้ Date.now ก่อนและหลังการดำเนินการ แล้วลบค่าทั้งสองเพื่อวัดว่าการดำเนินการใช้เวลานานเท่าใดในหน่วยมิลลิวินาที

const start = Date.now()
let sum = 0
for (let i = 0; i < 1000; i++) { sum += i }
const elapsed = Date.now() - start
console.log(elapsed >= 0)

ประทับเวลาเป็นวันที่

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

const ts = 1704067200000
const d = new Date(ts)
console.log(d.getUTCFullYear())

วินาทีกับมิลลิวินาที

ประทับเวลาของ JavaScript ใช้หน่วยมิลลิวินาที แต่ส่วนติดต่อการเขียนโปรแกรมจำนวนมากใช้หน่วยวินาที ให้คูณหรือหารด้วย 1000 เพื่อแปลงระหว่างหน่วย

const seconds = 1704067200
const d = new Date(seconds * 1000)
console.log(d.getUTCFullYear())

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

ทดสอบความรู้เกี่ยวกับประทับเวลา

สรุปทบทวน

สรุปทบทวน: เบื้องหลังแล้ว วันที่คือประทับเวลาที่มีหน่วยเป็นมิลลิวินาที

  • Date.now ให้ประทับเวลาปัจจุบัน
  • ลบวันที่เพื่อหาผลต่างเป็นมิลลิวินาที
  • หารด้วยจำนวนมิลลิวินาทีในหนึ่งวันเพื่อหาจำนวนวัน
  • JavaScript ใช้มิลลิวินาที ไม่ใช่วินาที
const a = new Date(2024, 0, 1)
const b = new Date(2024, 0, 2)
console.log(b - a)

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

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

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

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

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

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

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

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

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

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

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

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

  1. การสร้างและอ่านวันที่
  2. การประทับเวลาและการคำนวณวันที่
  3. การจัดรูปแบบวันที่
  4. เขตเวลาและ UTC
← กลับไปที่ JavaScript Academy