Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

JavaScript Timestamp:คำแนะนำทีละขั้นตอน

หากต้องการรับรูปแบบการประทับเวลา 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 อย่างผู้เชี่ยวชาญแล้ว!