หากต้องการรับรูปแบบการประทับเวลา JavaScript สามารถทำได้โดยใช้ Date()
ออบเจ็กต์ซึ่งเก็บเวลาปัจจุบันในรูปแบบการประทับเวลาที่อ่านได้ คุณยังสามารถสร้าง Date()
. ใหม่ได้ ออบเจ็กต์ที่มีการประทับเวลาต่างกัน และรับเวลา Unix ปัจจุบันโดยใช้ getTime()
วิธีการ
การจัดการวันที่และเวลาเป็นส่วนสำคัญของการเขียนโปรแกรม ตัวอย่างเช่น ใน JavaScript คุณอาจต้องสร้างวันที่ลิขสิทธิ์แบบไดนามิก กำหนดการ หรือรายการเหตุการณ์และเวลาของเหตุการณ์ ซึ่งทั้งหมดเกี่ยวข้องกับการใช้เวลา/วันที่ในระดับหนึ่ง
ในการทำงานกับเวลาใน JavaScript คุณสามารถใช้วัตถุ Date และวิธีการที่เกี่ยวข้อง ออบเจ็กต์ Date ช่วยให้คุณจัดเก็บวันที่และเวลา และจัดรูปแบบวันที่และเวลาตามความต้องการเฉพาะของคุณ
ในบทช่วยสอนนี้ เราจะมาสำรวจพื้นฐานของการสร้างการประทับเวลาของ JavaScript โดยใช้วันที่ เราจะหารือถึงวิธีจัดรูปแบบวันที่และเวลาประทับใน JavaScript และวิธีรับค่าเวลา UTC
ออบเจ็กต์การประทับเวลา JavaScript
วัตถุวันที่ใช้ใน JavaScript เพื่อเก็บวันที่และเวลา หากไม่มีอาร์กิวเมนต์ใดๆ วัตถุ Date จะสร้างวัตถุที่มีวันที่และเวลาปัจจุบัน ต่อไปนี้คือตัวอย่างของอ็อบเจ็กต์ Date ที่ใช้เพื่อรับวันที่และเวลาปัจจุบัน:
const currentTime = new Date(); console.log(currentTime);
ในโค้ดของเรา เราประกาศตัวแปรที่เรียกว่า “currentTime” ซึ่งเรากำหนดออบเจกต์ Date จากนั้นเราพิมพ์ตัวแปร "currentTime" ไปที่คอนโซล รหัสของเราส่งคืนสิ่งต่อไปนี้:
Wed Feb 05 2020 11:18:21 GMT+0000 (Greenwich Mean Time)
อย่างที่คุณเห็น รหัสของเราได้ส่งคืนวันที่และเวลาปัจจุบันในลักษณะที่เราสามารถอ่านได้ เราสามารถแบ่งผลลัพธ์ของวัตถุ Date ของเราออกเป็นองค์ประกอบบางส่วน:
81% ของผู้เข้าร่วมกล่าวว่าพวกเขารู้สึกมั่นใจมากขึ้นเกี่ยวกับโอกาสในการทำงานด้านเทคโนโลยีหลังจากเข้าร่วม bootcamp จับคู่กับ Bootcamp วันนี้
ผู้สำเร็จการศึกษาจากหลักสูตร bootcamp โดยเฉลี่ยใช้เวลาน้อยกว่าหกเดือนในการเปลี่ยนอาชีพ ตั้งแต่เริ่มต้น bootcamp ไปจนถึงหางานแรก
- วัน:พุธ
- เดือน:ก.พ.
- วัน:14
- ปี:2020
- ชั่วโมง:11
- นาที:18
- วินาที:21
- เขตเวลา:GMT+000 (เวลามาตรฐานกรีนิช)
อย่างไรก็ตาม ในขณะที่วัตถุ date ส่งคืนค่านี้ JavaScript จะเข้าใจวันที่และเวลาผ่านเวลา Unix เวลา Unix เป็นค่าที่แสดงจำนวนมิลลิวินาทีที่ผ่านไปตั้งแต่เที่ยงคืน 1 มกราคม 1970 และเป็นมาตรฐานสากลสำหรับการจัดเก็บเวลาในการเขียนโปรแกรม
หากเราต้องการดึงเวลาประทับ Unix JavaScript เราสามารถทำได้โดยใช้เมธอด getTime() ดังนี้:
console.log(currentTime.getTime());
รหัสของเราส่งคืน:1580901774643
. แม้ว่าตัวเลขนี้จะไม่น่าสนใจเท่ากับข้อมูลที่เราได้รับข้างต้น แต่ก็มีความหมายเหมือนกันทุกประการ
การสร้างออบเจ็กต์วันที่ใหม่จากการประทับเวลาที่มีอยู่
จนถึงตอนนี้ เราได้พูดถึงวิธีการสร้างวัตถุ Date ตามเวลาปัจจุบัน อย่างไรก็ตาม เรายังสามารถสร้างวัตถุวันที่ตามการประทับเวลาของ JavaScript ที่มีอยู่ได้
สิ่งนี้มีประโยชน์หากคุณมีค่าวันที่อยู่แล้ว แต่ต้องการจัดการโดยใช้อ็อบเจ็กต์ JS Date ตัวอย่างเช่น คุณอาจมีการประทับเวลา Unix ที่คุณต้องการให้ปรากฏในเวอร์ชันยาวของเวลาที่เราได้แสดงไว้ด้านบน (แบบที่แสดงวัน เวลา เขตเวลา และข้อมูลอื่นๆ ที่เกี่ยวข้อง)
คุณสามารถสร้างออบเจ็กต์ Date ใหม่จากการประทับเวลาที่มีอยู่ได้สองวิธี คุณสามารถใช้วันที่เพื่อสร้างวัตถุใหม่โดยยึดตาม:
- การประทับเวลา Unix ที่มีอยู่ (วันที่ใหม่ (การประทับเวลา))
- สตริงวันที่ (วันที่ใหม่ (สตริงวันที่))
- วันที่และเวลาที่ระบุ (วันที่ใหม่ (ปี เดือน วัน ชั่วโมง นาที วินาที, มิลลิวินาที))
ต่อไปนี้คือตัวอย่างการใช้งานจริงแต่ละวิธี:
new Date(9231925020);
new Date(“April 17 1970 21:25:25”);
new Date(1970, 3, 17, 21, 25, 25, 0);
แต่ละตัวอย่างเหล่านี้สร้างวัตถุวันที่โดยใช้ข้อมูลเดียวกัน ดังนั้น หากเราพิมพ์เวลาโดยใช้วัตถุวันที่เหล่านี้และฟังก์ชัน getTime() เหมือนที่เราทำก่อนหน้านี้ เราจะได้รับคำตอบนี้:
Fri Apr 17 1970 21:25:25 GMT+0100 (Greenwich Mean Time)
เป็นที่น่าสังเกตว่าในวิธีสุดท้าย—ซึ่งคุณระบุปี, เดือน, วัน, ชั่วโมง, นาที, วินาที และมิลลิวินาที—ค่าใดๆ ที่หายไปจะถูกตั้งเป็น 0 นอกจากนี้ เดือนของเราถูกกำหนดเป็น “3”
เพราะวัตถุ JavaScript Date นับจาก “0”
สำหรับเดือน
เรียกวันที่
ตอนนี้เรามีวัตถุ Date แล้ว เราสามารถดึงข้อมูลส่วนใดส่วนหนึ่งของวันที่หรือเวลาที่เราต้องการได้ เราสามารถใช้เมธอด get ใน JavaScript เพื่อส่งคืนบางส่วนของวันที่ที่สัมพันธ์กับเขตเวลาท้องถิ่น ต่อไปนี้คือเมธอดวันที่ที่เราสามารถใช้ดึงข้อมูลวันที่:
- ปี:getFullYear()
- เดือน:getMonth()
- วันของเดือน:getDate()
- วันในสัปดาห์:getDay()
- ชั่วโมง:getHours()
- นาที:getMinutes()
- วินาที:getSeconds()
- มิลลิวินาที:getMilliseconds()
มาสร้างวัตถุวันที่ใหม่สำหรับวันที่ 1 มกราคม 2020:
const january2020 = new Date(2020, 1, 1);
ตอนนี้ หากเราใช้วิธีการข้างต้นกับปี เดือน และวันของเดือน เราจะได้รับสิ่งต่อไปนี้:
january2020.getFullYear(); // 1980 january2020.getMonth(); 1 january2020.getDate(); 1
เราสามารถเรียกใช้เมธอดวันที่ใดๆ ที่เราได้พูดคุยกันก่อนหน้านี้ในการประทับเวลาของเรา เพื่อรับส่วนเฉพาะของเวลา
นอกจากนี้ เราสามารถใช้วัตถุ Date เพื่อเปรียบเทียบเวลาใน JavaScript ดังนั้นหากเราต้องการดูว่าเป็นปี 2020 เราสามารถใช้รหัสต่อไปนี้:
const currentDate = new Date(); if (currentDate.getFullYear() === 2020) { console.log("It's 2020!"); } else { console.log("It's not 2020!"); }
เนื่องจากบทความนี้กำลังเขียนขึ้นในปี 2020 โค้ดของเราจึงกลับมา:“It’s 2020!” เราสามารถใช้วิธีเปรียบเทียบขั้นสูงขึ้นได้ เช่น การเปรียบเทียบปีกับวันโดยใช้วิธีเดียวกับที่เราทำข้างต้น
วิธี UTC
ค่าที่ส่งคืนโดยฟังก์ชันการดึงวันที่ที่เรากล่าวถึงข้างต้นจะขึ้นอยู่กับการตั้งค่าเขตเวลาท้องถิ่นของคุณ หากคุณต้องการรับการประทับเวลา UTC ซึ่งคำนวณเวลาตามเวลาสากลเชิงพิกัด คุณควรเพิ่ม “UTC”
หลังคำว่า “get”
ในฟังก์ชันข้างต้น
ต่อไปนี้คือตัวอย่างของเมธอด getHours() และ getUTCHours() ที่ใช้เพื่อรับชั่วโมงปัจจุบันและชั่วโมงในเขตเวลา UTC
const currentDate = new Date(); console.log(currentDate.getHours()); console.log(currentDate.getUTCHours());
รหัสของเราส่งคืนสิ่งต่อไปนี้:
11
11
รหัสนี้จะพิมพ์ทั้งชั่วโมงในเขตเวลาปัจจุบันของคุณและชั่วโมงของเขตเวลา UTC หากคุณอยู่ใน UTC ตัวเลขเหล่านี้จะเหมือนกัน (เหมือนด้านบน)
การใช้ UTC มีประโยชน์เพราะเป็นมาตรฐานที่ยอมรับในระดับสากล และมักใช้เมื่อคุณสร้างเว็บไซต์หรือแอปที่ขึ้นอยู่กับเขตเวลาต่างๆ
บทสรุป
เวลาเป็นส่วนสำคัญของ JavaScript ที่คุณมักจะพบบ่อยเมื่อคุณกำลังเขียนโค้ด ในบทช่วยสอนนี้ เราได้พูดถึงวิธีสร้างวัตถุวันที่เพื่อจัดเก็บเวลาปัจจุบัน เรายังกล่าวถึงวิธีสร้างออบเจ็กต์ Date แบบกำหนดเองตามการประทับเวลา สตริงวันที่ และเวลาที่เฉพาะเจาะจง และเราสำรวจวิธีการดึงวันที่ในตัวใน JavaScript
ตอนนี้คุณมีทักษะที่จำเป็นในการดึงและจัดการการประทับเวลาใน JavaScript อย่างผู้เชี่ยวชาญแล้ว!