เมื่อพูดถึงการพัฒนาเว็บ แอปพลิเคชัน หรือโปรเจกต์ที่มีการแสดงผลเกี่ยวกับเวลาเป็นสิ่งที่มีความสำคัญเสมอ ดังนั้นการทำความเข้าใจและสามารถจัดการกับเวลาได้อย่างถูกต้องในภาษา JavaScript จึงเป็นสิ่งที่จำเป็น ในบทความนี้เราจะมาทำความรู้จักกับการใช้งาน Date และ Time ใน JavaScript ซึ่งเป็นหนึ่งในทักษะพื้นฐานที่นักพัฒนามือใหม่ควรจะมี
ใน JavaScript การทำงานกับวันที่และเวลาใช้ `Date` object เป็นหลัก การสร้าง Date object สามารถทำได้หลายวิธีด้วยกัน ดังนี้:
// สร้าง Date object ของวันที่และเวลาปัจจุบัน
let currentDate = new Date();
console.log(currentDate);
// สร้าง Date object โดยระบุวันที่ด้วย string
let specificDate = new Date("2023-10-01");
console.log(specificDate);
// สร้าง Date object โดยระบุปี, เดือน, วัน, ชั่วโมง, นาที, วินาที, และมิลลิวินาที
let customDate = new Date(2023, 9, 1, 15, 30, 0, 0);
console.log(customDate);
สิ่งสำคัญที่ต้องทราบ
- เดือนใน JavaScript นับเริ่มจาก 0 (0 = มกราคม, 1 = กุมภาพันธ์, ...), ดังนั้นเดือนตุลาคมคือ 9
- `Date` object เก็บข้อมูลเวลาในรูปแบบของ milliseconds นับจากวันที่ 1 มกราคม 1970 ใน UTC
เมื่อสร้าง `Date` object แล้ว คุณสามารถใช้งานและปรับแก้ไขวันที่และเวลาได้หลายวิธี เช่น:
การดึงค่าจาก `Date` object
let date = new Date();
console.log(date.getFullYear()); // ได้ปี ค.ศ.
console.log(date.getMonth()); // ได้เดือน (0-11)
console.log(date.getDate()); // ได้วันที่ของเดือน
console.log(date.getHours()); // ได้ชั่วโมง
console.log(date.getMinutes()); // ได้นาที
console.log(date.getSeconds()); // ได้วินาที
console.log(date.getMilliseconds()); // ได้มิลลิวินาที
การตั้งค่าใน `Date` object
let date = new Date();
// ตั้งปี
date.setFullYear(2024);
// ตั้งเดือน (ต้องระวังว่าจะผลกระทบต่อวันสิ้นเดือน)
date.setMonth(11);
// ตั้งวันที่
date.setDate(25);
// ตั้งเวลา
date.setHours(10, 30, 0); // ชั่วโมง, นาที, วินาที
การคำนวณข้อมูลของวันที่และเวลา สามารถทำได้โดยการแปลง `Date` object เป็น milliseconds แล้วทำการคำนวณตรงๆ เช่น:
let today = new Date();
let nextWeek = new Date(today.getTime() + 7 * 24 * 60 * 60 * 1000); // บวกเวลาไป 7 วัน
console.log("วันนี้:", today);
console.log("สัปดาห์หน้า:", nextWeek);
หนึ่งใน Use Case ที่พบบ่อยในเว็บแอปพลิเคชันคือการนับถอยหลัง ตัวอย่างการใช้งาน Date object สำหรับการนับเวลาถอยหลัง:
function countdown(endDate) {
let now = new Date().getTime();
let distance = endDate.getTime() - now;
let days = Math.floor(distance / (1000 * 60 * 60 * 24));
let hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
let minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
let seconds = Math.floor((distance % (1000 * 60)) / 1000);
return `${days} วัน ${hours} ชั่วโมง ${minutes} นาที ${seconds} วินาที`;
}
let endDate = new Date("2023-12-31T23:59:59");
console.log("เวลานับถอยหลัง:", countdown(endDate));
การทำงานกับวันที่และเวลาใน JavaScript ถือเป็นเรื่องที่จำเป็นสำหรับนักพัฒนาเว็บทุกคน ความเข้าใจใน `Date` object และการจัดการกับมันช่วยให้เราสามารถพัฒนาแอปพลิเคชันที่มีฟังก์ชั่นการทำงานกับเวลาได้อย่างมีประสิทธิภาพ และหากคุณสนใจอยากเรียนรู้เพิ่มเติมเกี่ยวกับการพัฒนาเว็บและการเขียนโปรแกรม JavaScript ลองพิจารณาเรียนที่ EPT (Expert-Programming-Tutor) ที่มีหลักสูตรที่ครอบคลุมและช่วยให้คุณสามารถพัฒนาทักษะได้อย่างมั่นใจ!
หมายเหตุ: ข้อมูลในบทความนี้อาจจะผิด โปรดตรวจสอบความถูกต้องของบทความอีกครั้งหนึ่ง บทความนี้ไม่สามารถนำไปใช้อ้างอิงใด ๆ ได้ ทาง EPT ไม่ขอยืนยันความถูกต้อง และไม่ขอรับผิดชอบต่อความเสียหายใดที่เกิดจากบทความชุดนี้ทั้งทางทรัพย์สิน ร่างกาย หรือจิตใจของผู้อ่านและผู้เกี่ยวข้อง
หากเจอข้อผิดพลาด หรือต้องการพูดคุย ติดต่อได้ที่ https://m.me/expert.Programming.Tutor/
Tag ที่น่าสนใจ: java c# vb.net python c c++ machine_learning web database oop cloud aws ios android
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM
Copyright (c) 2013 expert-programming-tutor.com. All rights reserved. | 085-350-7540 | 084-88-00-255 | ntprintf@gmail.com