Js มิลลิวินาทีจนถึงปัจจุบัน JavaScript รับเวลาและวันที่ปัจจุบัน การแปลงวันที่เป็นสตริงและจัดรูปแบบ

วัตถุ Date ช่วยให้คุณสามารถทำงานกับวันที่และเวลาได้ หากต้องการสร้างวัตถุ Date ใหม่ ให้ใช้ไวยากรณ์ต่อไปนี้:

วันที่ใหม่()

วันที่จะถูกเก็บไว้ในนั้นเป็นจำนวนมิลลิวินาทีที่ผ่านไปตั้งแต่เที่ยงคืนของวันที่ 1 มกราคม 1970 ตามเวลาสากล (UTC) ด้วยรูปแบบนี้ วันที่สามารถแสดงวันที่ที่อยู่ห่างจากวันที่ 1 มกราคม 1970 ได้อย่างแม่นยำ 285,616 ปี

หากตัวสร้างวันที่ถูกเรียกโดยไม่มีอาร์กิวเมนต์ ออบเจ็กต์จะถูกสร้างขึ้นด้วยค่าวันที่และเวลาปัจจุบัน หากต้องการสร้างออบเจ็กต์ Date ด้วยวันที่หรือเวลาที่ระบุ คุณจะต้องผ่านพารามิเตอร์ที่เป็นไปได้ตัวใดตัวหนึ่งจากสี่ตัว:

  • มิลลิวินาที: ค่าจะต้องเป็นจำนวนมิลลิวินาทีตั้งแต่ 01/01/1970 varbirthDate = new Date(8298400000); document.write(วันเกิด);
  • สตริงวันที่: วันที่ใดๆ ในรูปแบบที่รองรับโดย parse() วิธีการ varbirthDate = new Date("April 16, 1975"); document.write(วันเกิด);
  • ปี, เดือน, วัน varbirthDate = วันที่ใหม่ (1975, 4, 28); document.write(วันเกิด);

    โปรดทราบว่าหมายเลข 4 ตรงกับเดือนพฤษภาคม ซึ่งหมายความว่าเดือนมกราคมตรงกับเลข 0 วันจะถูกคำนวณในลักษณะเดียวกัน เฉพาะในกรณีนี้คือวันอาทิตย์ตรงกับศูนย์

  • ปี เดือน วัน ชั่วโมง นาที วินาที มิลลิวินาที

เมื่อทำงานกับวัตถุ Date สิ่งสำคัญคือต้องจำไว้ว่าการคำนวณจะดำเนินการโดยใช้เวลาสากล (UTC) แม้ว่าคอมพิวเตอร์ของคุณอาจแสดงเวลาตามโซนเวลาของคุณก็ตาม

วิธีการ

วิธีคำอธิบาย
รับวันที่()ส่งกลับวันของเดือน (ตั้งแต่ 1 ถึง 31) สำหรับวันที่ที่ระบุ เวลาท้องถิ่น
รับวัน()ส่งกลับวันในสัปดาห์ (0 ถึง 6; 0 = วันอาทิตย์, 1 = วันจันทร์ ฯลฯ) สำหรับวันที่ที่ระบุตามเวลาท้องถิ่น
รับเต็มปี()ส่งกลับปี (ตัวเลขสี่หลัก)
รับชั่วโมง()ส่งกลับชั่วโมง (จาก 0 ถึง 23)
รับมิลลิวินาที()ส่งกลับค่ามิลลิวินาที (ตั้งแต่ 0 ถึง 999)
รับนาที()ส่งกลับนาที (จาก 0 ถึง 59)
รับเดือน()ส่งกลับเดือน (ตั้งแต่ 0 ถึง 11; 0 = มกราคม, 1 = กุมภาพันธ์ ฯลฯ)
รับวินาที()ส่งกลับวินาที (จาก 0 ถึง 59)
รับเวลา()ส่งกลับจำนวนมิลลิวินาทีที่ผ่านไปตั้งแต่เที่ยงคืนของวันที่ 01/01/1970
รับเขตเวลาออฟเซ็ต ()ส่งกลับค่าความต่างของเวลาระหว่าง UTC และ เวลาท้องถิ่นในไม่กี่นาที
รับUTCDate()ส่งกลับวันของเดือนในรูปแบบ UTC (ตั้งแต่ 1 ถึง 31)
รับUTCDay()ส่งกลับวันในสัปดาห์ตามเวลามาตรฐานสากล (ตั้งแต่ 0 ถึง 6)
รับUTCFullYear()ส่งกลับปีตามเวลามาตรฐานสากล (ตัวเลขสี่หลัก)
รับUTCHours()ส่งกลับชั่วโมงในเวลามาตรฐานสากล (0 ถึง 23)
รับUTCMilliseconds()ส่งกลับมิลลิวินาทีในเวลามาตรฐานสากล (ตั้งแต่ 0 ถึง 999)
รับUTCMinutes()ส่งกลับนาทีในเวลามาตรฐานสากล (0 ถึง 59)
รับUTCเดือน()ส่งกลับเดือนในรูปแบบ UTC (ตั้งแต่ 0 ถึง 11)
รับUTTCวินาที()ส่งกลับวินาทีในเวลามาตรฐานสากล (ตั้งแต่ 0 ถึง 59)
แยกวิเคราะห์()แยกวิเคราะห์สตริงวันที่ (เช่น "21 พฤษภาคม 1992") และส่งกลับสตริงค่าวันที่ที่มีตัวเลขเป็นมิลลิวินาทีตั้งแต่วันที่ 1 มกราคม 1970 00:00:00 น.
กำหนดวันที่()ตั้งค่าวันของเดือนสำหรับวันที่ที่ระบุตามเวลาท้องถิ่น (ตั้งแต่ 1 ถึง 31)
ตั้งเต็มปี()ตั้งค่าปี (ตัวเลขสี่หลัก)
กำหนดชั่วโมง()ตั้งนาฬิกาสำหรับวันที่ที่ระบุตามเวลาท้องถิ่น (0 ถึง 23)
ตั้งค่ามิลลิวินาที()ตั้งค่ามิลลิวินาทีสำหรับวันที่ที่ระบุเป็นเวลาท้องถิ่น
กำหนดนาที()ตั้งค่านาที (ตั้งแต่ 0 ถึง 59)
ตั้งเดือน()ตั้งค่าเดือน (ตั้งแต่ 0 ถึง 11)
ชุดวินาที()ตั้งค่าวินาที (ตั้งแต่ 0 ถึง 59)
ตั้งเวลา()ตั้งค่าวันที่เป็นมิลลิวินาทีหลังจาก (หรือก่อนหน้า) 01/01/1970
กำหนดUTCDวันที่()ระบุวันของเดือน
setUTCFullYear()ตั้งค่าปีตามเวลาสากล (ตัวเลขสี่หลัก)
setUTCHours()ตั้งค่าชั่วโมงสำหรับวันที่ที่ระบุในเวลามาตรฐานสากล
setUTCMilliseconds()ตั้งค่ามิลลิวินาทีสำหรับวันที่ที่ระบุในเวลามาตรฐานสากล
setUTCMinutes()ตั้งค่านาทีสำหรับวันที่ที่ระบุในเวลามาตรฐานสากล
setUTCเดือน()ตั้งค่าเดือนสำหรับวันที่ที่ระบุในเวลามาตรฐานสากล
setUTCSeconds()ตั้งค่าวินาทีสำหรับวันที่ที่ระบุในเวลามาตรฐานสากล
toDateString()
toISOString()แปลงวันที่เป็นสตริงโดยใช้มาตรฐาน ISO 8601
ถึง JSON()ส่งกลับวันที่ในรูปแบบสตริง โดยจัดรูปแบบเป็นวันที่ JSON
toLocaleDateString()
toLocaleTimeString()ส่งกลับส่วนวันที่เป็นสตริง โดยมีการแสดงวันที่ตามพารามิเตอร์ของระบบ
toLocaleString()ส่งกลับวันที่ในรูปแบบสตริง โดยมีการแสดงวันที่ตามพารามิเตอร์ของระบบ
toString()ส่งกลับสตริงที่แสดงถึงวัตถุวันที่ที่ระบุ
toTimeString()ส่งกลับส่วนวันที่เป็นสตริง
toUTCString()แปลงวันที่เป็นสตริงโดยใช้เขตเวลา UTC
เวลาUTC()ใช้พารามิเตอร์เดียวกันกับตัวสร้างรูปแบบยาว (เช่น 2-7) และส่งกลับจำนวนมิลลิวินาทีตั้งแต่วันที่ 1 มกราคม 1970, 00:00:00 UTC
มูลค่าของ()ส่งกลับค่าดั้งเดิมของวัตถุ Date

สวัสดีทุกคน!
ฉันมักจะต้องทำงานกับข้อมูลทางสถิติ และส่วนใหญ่เชื่อมโยงกับวันที่ นอกจากนี้ยังสามารถใช้วันที่เดียวกันบนหน้าได้ รูปแบบที่แตกต่างกัน(เช่นสะดวกสำหรับรถยนต์และสะดวกสำหรับบุคคล) ฉันคิดว่าพวกคุณส่วนใหญ่ตระหนักดีถึงโค้ดที่น่ากลัวทั้งหมดที่เกิดจากการใช้วัตถุ Date
ตัวอย่างเช่น หากต้องการรับวันที่ปัจจุบันในรูปแบบ DD.MM.YYYY เราจำเป็นต้องดำเนินการดังต่อไปนี้:
var d = วันที่ใหม่(), fd = d.getDate() + "." + (d.getMonth()+1) + "." + d.getFullYear();
และเมื่อใดเส้นดังกล่าวจะมีมากมาย? มันง่ายไหมที่จะจำว่าใน JavaScript เดือนจะเริ่มต้นจากศูนย์เมื่อคุณพัฒนาไม่เพียงแต่ในนั้นเท่านั้น หรือความจริงที่ว่าที่นี่มีมิลลิวินาที ไม่ใช่วินาที เหมือนที่อื่นๆ เกือบทั้งหมดในแบ็กเอนด์ คุณสามารถแก้ไขปัญหาบางอย่างได้ด้วยไลบรารี Moment.js ยอดนิยม แต่ทำงานได้ช้ามาก
ห้องสมุดดังกล่าวสามารถแก้ไขปัญหาเหล่านี้ได้
หากสนใจ แนะนำให้อ่านรีวิวสั้นๆ นี้ครับ

TempusJS ประกอบด้วยน้ำตาลวากยสัมพันธ์จำนวนมากบนวัตถุ Date ดังนั้นจึงรวดเร็วมาก ไวยากรณ์ของไลบรารีนั้นง่ายมาก ตัวอย่างเช่น คุณสามารถเขียนตัวอย่างก่อนหน้านี้ได้ดังนี้:
var fd = tempus().format("%d.%m.%Y");
ตอนนี้เกี่ยวกับความเร็ว ในสปอยเลอร์ คุณสามารถดูการเปรียบเทียบ Tempus กับ Moment และวิธีการจัดรูปแบบวันที่แบบดั้งเดิม (ดูด้านบน):

การเปรียบเทียบ JS ดั้งเดิม, MomentJS และ TempusJS

รับวันที่ปัจจุบัน
Native JS x 2,175,575 ops/วินาที ±0.75% (สุ่มตัวอย่าง 96 รัน) Moment x 284,864 ops/วินาที ±0.85% (สุ่มตัวอย่าง 96 รัน) Tempus x 2,086,081 ops/วินาที ±0.73% (สุ่มตัวอย่าง 97 รัน)
การจัดรูปแบบ
Native JS x 1,637,517 ops/วินาที ±0.61% (สุ่มตัวอย่าง 100 รัน) Moment x 8,808 ops/วินาที ±1.07% (สุ่มตัวอย่าง 100 รัน) Tempus x 942,815 ops/วินาที ±0.68% (สุ่มตัวอย่าง 94 รัน)
การตรวจจับและแยกวิเคราะห์วันที่อัตโนมัติ
Native JS x 11,204,316 ops/วินาที ±0.81% (สุ่มตัวอย่าง 88 รัน) Moment x 38,511 ops/วินาที ±1.41% (สุ่มตัวอย่าง 95 รัน) Tempus x 93,973 ops/วินาที ±1.06% (สุ่มตัวอย่าง 85 รัน)
แยกวันที่ตามรูปแบบ
โมเมนต์ x 46,293 ops/วินาที ±0.63% (สุ่มตัวอย่าง 100 รัน) Tempus x 109,947 ops/วินาที ±0.93% (สุ่มตัวอย่าง 99 รัน)
การแยกวิเคราะห์และการตรวจสอบ
โมเมนต์ x 44,588 ops/วินาที ±1.09% (สุ่มตัวอย่าง 90 รัน) Tempus x 103,439 ops/วินาที ±0.90% (สุ่มตัวอย่าง 94 รัน)
ผลลัพธ์ได้รับจากแล็ปท็อปของฉันใน กูเกิลโครม 30.0.1599.114. ผลลัพธ์จะแตกต่างกันไปในเบราว์เซอร์อื่นๆ แต่อัตราส่วนยังคงเท่าเดิมโดยประมาณ
ไลบรารี benchmark.js ใช้สำหรับการทดสอบ
คุณสามารถดูเกณฑ์มาตรฐานสำหรับฟังก์ชันอื่นๆ ได้

ดังนั้นข้อดีของไลบรารีนี้สามารถเขียนได้ดังนี้:

  • รองรับ IE6+, Chrome, Firefox, Opera;
  • รองรับสายโซ่;
  • เดือนสามารถเริ่มต้นที่ 1 (ค่าเริ่มต้น) แทนที่จะเป็นศูนย์
  • มิลลิวินาทีสามารถปิดใช้งาน (ค่าเริ่มต้น) หรือเปิดใช้งานได้
  • การดำเนินการที่รวดเร็ว (เนื่องจากในหลายกรณีมีการใช้วัตถุ Date ดั้งเดิมของเบราว์เซอร์การใช้งานซึ่งเขียนด้วยภาษาที่เร็วกว่า)
  • รองรับรูปแบบและปลั๊กอินที่กำหนดเอง
  • การตรวจสอบวันที่นั้นรวดเร็วมากและขึ้นอยู่กับฟังก์ชันที่กำหนดวันที่เท่านั้น (เนื่องจากการตรวจสอบเกิดขึ้นเมื่อป้อนค่าและไม่ได้คำนวณแยกกัน)
  • หลายภาษาและตรวจจับภาษาของผู้ใช้อัตโนมัติ

ในที่นี้เราจะพูดถึงฟังก์ชันบางส่วนเท่านั้น

การจัดรูปแบบและการแยกวิเคราะห์

ก่อนอื่น อีกตัวอย่างหนึ่งของการจัดรูปแบบวันที่ ที่นี่เรายังใช้การผูกมัดการโทร ในตอนท้ายของการตั้งค่าแต่ละค่า เราจะได้ TempusDate object กลับคืนมา ซึ่งเราสามารถนำไปใช้เพิ่มเติมใน chain ได้ ตัวอย่าง:
จังหวะ() // รับ วันที่ใหม่คำนวณ((เดือน: -1)) // ลดขนาดลงหนึ่งเดือน รูปแบบ("%d.%m.%Y"); // ส่งออกเป็นสตริง
ดังนั้นเราจะได้วัน ชั่วโมง และวินาทีเดียวกันแต่เมื่อเดือนที่แล้ว สิ่งนี้มีประโยชน์ในการรับรายงานของเดือนที่แล้ว

ตัวอย่างถัดไปคือการแยกวิเคราะห์วันที่
// ส่งคืนวัตถุ TempusDate ด้วยวันที่ "2013-11-18" tempus("11/18/2013"); // ส่งคืนวัตถุ TempusDate ด้วยวันที่ "2013-12-12" tempus("2013-12-12", "%Y-%m-%d"));
Tempus สามารถตรวจจับรูปแบบที่รู้จักบางรูปแบบได้โดยอัตโนมัติ นอกจากนี้คุณยังสามารถระบุรูปแบบเฉพาะได้ จากนั้นการแยกวิเคราะห์จะเร็วขึ้น นอกจากนี้ คุณยังสามารถกำหนดวันที่ที่จะถูกส่งกลับหากการแยกวิเคราะห์ล้มเหลว:
// เพราะ "123" ไม่พอดีกับรูปแบบ "%d.%m.%Y" ดังนั้น // วัตถุที่มีวันที่ 2013-01-01 tempus("123", "%d.%m.%Y", tempus จะถูกส่งกลับ ());
สามารถดูรายการรูปแบบเริ่มต้นได้

ตอนนี้เรามาเปลี่ยนรูปแบบของวันที่ที่จัดรูปแบบไว้แล้ว
// "2013-11-05" tempus("05.11.2013").format("%Y-%m-%d"); // หรือแบบนี้ // "12 ตุลาคม" tempus("2013-10-12 12:31:01", "%Y-%m-%d %H:%M:%S").format(" % B, %d");

คุณยังสามารถใช้การแปลเป็นภาษาท้องถิ่นสำหรับการจัดรูปแบบได้ ตามค่าเริ่มต้น ภาษาของผู้ใช้จะถูกเลือก (นำมาจากเบราว์เซอร์) หรือภาษาเริ่มต้น หากไม่พบภาษาของผู้ใช้ในภาษา Tempus ที่มี
// ตั้งค่าภาษา tempus.lang("ru"); // เราใช้รูปแบบเป็นมาตรฐาน // "November, 05" tempus(1383609600).format("%B, %d");
บน ในขณะนี้มีเพียงสองภาษาเท่านั้น - รัสเซียและอังกฤษ ดังนั้นฉันยินดีที่จะช่วยเหลือ

การตรวจสอบ

การตรวจสอบวันที่เกิดขึ้นดังนี้:
// ส่งคืนค่าเท็จ tempus("08/32/2013", "%d.%m.%Y").valid(); // กลับค่า tempus("00:00 01/01/2012", "%H:%M %d.%m.%Y").valid();

ในกรณีที่เกิดข้อผิดพลาด คุณสามารถดูฟิลด์ที่เกิดข้อผิดพลาดได้ โดยที่ค่าไม่เป็นเท็จ:
// Return ("ปี":-5,"เดือน":false,"วัน":false,"ชั่วโมง":false, // "นาที":false,"วินาที":false,"มิลลิวินาที":false) เวลา ()

ปี(-5) // ตั้งปี=-5 เช่น ข้อผิดพลาดที่ไม่ถูกต้อง (); // รับวัตถุที่มีข้อผิดพลาด

ช่วงวันที่
บางครั้งเราก็ต้องทราบจำนวนปี (เช่น อายุ) เดือน วัน เป็นต้น ระหว่างสองวัน ในการทำเช่นนี้ เราสามารถใช้วิธี between ซึ่งค้นหาความแตกต่างระหว่างวันที่สองวันและส่งกลับในรูปแบบที่ต้องการ ("ปี", "เดือน", "วัน", "ชั่วโมง", "นาที", "วินาที" "มิลลิวินาที")
ต่อไปนี้คือตัวอย่างง่ายๆ ในการหาจำนวนเดือนระหว่างวันที่ 1 พฤศจิกายน 2013 ถึง 5 พฤษภาคม 2014:
// กลับ 6 tempus().between(tempus(), "เดือน");
หรือเหลืออีกกี่ชั่วโมงจะถึงปีใหม่
tempus().between(tempus(), "ชั่วโมง");
ในตัวอย่างสุดท้าย คุณจะสังเกตเห็นว่าฉันระบุเฉพาะปีเท่านั้น เมื่อตั้งค่าเป็นอาร์เรย์หรือวัตถุค่าที่หายไปจะเป็น เต็มไปด้วยความมินิมอล รายการค่าคงที่ด้วยค่าต่ำสุด

คุณสามารถดูได้ในเอกสารประกอบ นอกจากนี้เรายังสามารถเปลี่ยนวันที่ใดก็ได้โดยใช้:
ฟังก์ชั่นการคำนวณ

// กลับ TempusDate พร้อมวันที่ 2012-01-01 tempus().calc((ปี: 1, เดือน: -4, วัน: -1));

รูปแบบของตัวเอง
เราใช้รูปแบบของเราเองสำหรับเดือนซึ่งสามารถรับค่าได้ตั้งแต่ 1 ถึง 12 (ไม่ใช่ 01 ถึง 12):
// ลงทะเบียนรูปแบบใหม่ tempus.registerFormat("%q", // directive - %q function(date) ( // ที่นี่เราระบุฟังก์ชันการจัดรูปแบบ เช่น สิ่งที่จะถูกแทนที่สำหรับ %q return date.month(); ) , function(value) ( ​​​​// และนี่คือฟังก์ชันการแยกวิเคราะห์ var v = Number(value); return (เดือน: (isNaN(v) ? undefinition: v) ); ), 1, // ความยาวขั้นต่ำ ค่านั้น 2 สามารถรับได้ , // ความยาวสูงสุด "หมายเลข" // ประเภท); // ทดสอบ // ส่งคืน "01.1.2013"; tempus((ปี: 2013, เดือน: 1, วัน: 1)).format("%d.%q.%Y"); // Return ("ปี":2013,"เดือน":2,"วัน":10,"ชั่วโมง":0,"นาที":0,"วินาที":0); เวลา("10.2.2013", "%d.%q.%Y").get(); ในระหว่างการลงทะเบียน คุณอาจสังเกตเห็นว่าพารามิเตอร์บางตัวถูกตั้งค่าแยกกัน ในขณะที่คุณสามารถใช้ได้การแสดงออกปกติ
- ในความเป็นจริง มันมีในตอนแรก แต่หลังจากละทิ้งมัน ความเร็วก็เพิ่มขึ้นหลายสิบเท่า
tempus.unregisterFormat("%d"); // ส่งกลับ "%d.01.2013" เนื่องจาก คำสั่ง %d ไม่มีอยู่แล้ว tempus.format((ปี: 2013, เดือน: 1, วัน: 1), "%d.%m.%Y");

เก็ตเตอร์/เซ็ตเตอร์

คุณสามารถรับ/ตั้งค่าบางค่าได้โดยใช้ปี(), เดือน(), วัน(), ชั่วโมง(), นาที(), วินาที(), มิลลิวินาที(), dayOfWeek(), utc(), timestamp() หรือตั้งค่าฟังก์ชัน () ตัวอย่างเช่น:
จังหวะ() // รับวันที่ปีปัจจุบัน (1900) // ปล่อยทุกอย่างไว้เหมือนเดิม แต่ตั้งปีเป็น 1900 leapYear(); // ตรวจสอบว่าเป็นปีอธิกสุรทินหรือไม่ ในกรณีนี้คือ false tempus().year(); // และเราก็ได้ปีปัจจุบันในรูปแบบตัวเลข

กำลังสร้างวันที่

คุณสามารถสร้างวันที่ได้หลายวิธี รายการทั้งหมดพารามิเตอร์อยู่ในเอกสารประกอบ นี่เป็นตัวอย่างเล็กๆ น้อยๆ
// ส่งคืน ["03/29/2013", "03/30/2013", "03/31/2013", "04/01/2013", "04/02/2013"]; tempus.generate(( dateFrom: "20130329", formatFrom: "%Y.%m.%d", dateTo: "20130402", ระยะเวลา: (วัน: 1), รูปแบบ: "%d.%m.%Y" ));
สิ่งนี้มีประโยชน์สำหรับการแสดงกราฟตามวันที่และการเปลี่ยนรูปแบบการแสดงผลบนไคลเอนต์โดยตรง โดยไม่ต้องร้องขอไปยังแบ็กเอนด์ สามารถสร้างวันที่เป็นอาร์เรย์หรือเป็นวัตถุได้ โดยที่วันที่จะเป็นกุญแจ (ซึ่งมีประโยชน์เมื่อเราจำเป็นต้องผูกเหตุการณ์เข้ากับวันที่ เช่น เมื่อเราสร้างปฏิทินของเราเอง) นอกจากนี้ ยังสามารถจัดกลุ่มวันที่ตามวัน สัปดาห์ เดือน ชั่วโมง ปี หรืออะไรก็ได้ นอกจากนี้ยังสามารถนำไปใช้กับปฏิทินได้อีกด้วย

ปลั๊กอิน

และสุดท้ายแต่ไม่ท้ายสุด - ปลั๊กอิน ที่นี่เราขยายโรงงานเพื่อสร้างวันที่สุ่ม นอกจากนี้เรายังต้องการคลาส TempusDate ซึ่งสามารถพบได้ใน tempus.classes() นี่คือตัวอย่างปลั๊กอิน:
(ฟังก์ชั่น (tempus) ( var TempusDate = tempus.classes("TempusDate"); tempus.randomDate = function() ( var date = new TempusDate(); date.year(Math.floor((Math.random()*( tempus.MAX_YEAR - tempus.MIN_YEAR)) + tempus.MIN_YEAR)) เดือน((Math.random()*(tempus.MAX_MONTH - tempus.MIN_MONTH)) + tempus.MIN_MONTH) .random()*(date.dayCount() - tempus.MIN_DAY)) + tempus.MIN_DAY)).hours(Math.floor((Math.random()*(tempus.MAX_HOURS - tempus.MIN_HOURS) ) + tempus MIN_HOURS)). นาที(Math.floor((Math.random()*(tempus.MAX_MINUTES - tempus.MIN_MINUTES)) + tempus.MIN_SECONDS)) ); // ตอนนี้เราสามารถสร้างวันที่เช่นนี้ได้ var someRandomDate = tempus.randomDate();
ฉันคิดว่าด้วยวิธีนี้จะเป็นไปได้ที่จะเขียนวิดเจ็ตได้อย่างสะดวกโดยใช้การรวมกันของ jQuery+Tempus, Angular+Tempus ฯลฯ

แหล่งที่มา

คุณสามารถติดตั้งได้โดยดาวน์โหลดซอร์สจาก Github:
https://github.com/crusat/tempus-js/releases
หรือผ่านทางซุ้ม:
$ bower ติดตั้งเทมปัส
คุณต้องการเพียงไฟล์เดียวเท่านั้น - tempus.js หรือ tempus.min.js

ฉันหวังว่าห้องสมุดนี้จะเป็นประโยชน์และน่าสนใจที่จะค้นหาสิ่งที่ขาดหายไปเพื่อพัฒนาห้องสมุดไปในทิศทางที่ถูกต้องต่อไป ขอบคุณสำหรับความสนใจของคุณ!
ป.ล. ขอบคุณสำหรับคำเชิญ!

วันที่และเวลาเป็นส่วนหนึ่งของชีวิตประจำวันของเรา ดังนั้นจึงมีส่วนสำคัญในการเขียนโปรแกรม ใน JavaScript เมื่อสร้างเว็บไซต์ คุณอาจต้องเพิ่มปฏิทิน ตารางรถไฟ หรืออินเทอร์เฟซสำหรับการกำหนดเวลาการประชุม แอปพลิเคชันเหล่านี้จะต้องแสดงเวลาที่เกี่ยวข้องตามโซนเวลาปัจจุบันของผู้ใช้ หรือทำการคำนวณที่เกี่ยวข้องกับการมาถึงและออกเดินทางของเครื่องบิน หรือเวลาเริ่มต้นและสิ้นสุดของเหตุการณ์ นอกจากนี้ คุณอาจจำเป็นต้องใช้ JavaScript เพื่อส่งรายงานรายวันไปให้ เวลาที่แน่นอนหรือเพื่อกรอง (เช่น ค้นหาร้านอาหารที่เปิดในช่วงเวลาใดเวลาหนึ่ง)

วัตถุวันที่

วันที่เป็นแบบบิวท์อิน วัตถุจาวาสคริปต์ซึ่งเก็บวันที่และเวลา มีวิธีการในตัวมากมายสำหรับการจัดรูปแบบและการจัดการข้อมูลนี้

ตามค่าเริ่มต้น อินสแตนซ์ Date ใหม่ที่ไม่มีอาร์กิวเมนต์จะสร้างออบเจ็กต์โดยมีวันที่และเวลาปัจจุบันตาม การตั้งค่าระบบคอมพิวเตอร์ปัจจุบัน

ตัวอย่างเช่น ลองกำหนดวันที่ปัจจุบันให้กับตัวแปร สร้างไฟล์ now.js

// ตั้งค่าตัวแปรเป็นวันที่และเวลาปัจจุบัน
const ตอนนี้ = วันที่ใหม่ ();
// ดูผลลัพธ์
ตอนนี้;
พุธที่ 18 ต.ค. 2560 12:41:34 GMT+0000 (UTC)

ผลลัพธ์เป็นสตริงวันที่ที่มีข้อมูลต่อไปนี้:

วันที่และเวลาจะถูกแยกย่อยและแสดงในลักษณะที่อ่านง่าย

อย่างไรก็ตาม JavaScript ตีความวันที่ตามการประทับเวลา Unix ซึ่งเป็นค่าที่ประกอบด้วยจำนวนมิลลิวินาทีที่ผ่านไปนับตั้งแต่เที่ยงคืนของวันที่ 1 มกราคม 1970 คุณสามารถรับการประทับเวลาได้โดยใช้เมธอด getTime()

// รับการประทับเวลาปัจจุบัน
ตอนนี้.getTime();
1508330494000

ตัวเลขจำนวนมากที่ปรากฏในเอาต์พุตเป็นการประทับเวลาปัจจุบันแสดงถึงจำนวนมิลลิวินาทีที่ผ่านไปตั้งแต่เที่ยงคืนของวันที่ 1 มกราคม 1970 ถึงวันที่ 18 ตุลาคม 2017

เวลาเป็นศูนย์ (หรือเวลายุค) จะแสดงด้วยสตริงวันที่ 01 มกราคม 1970 00:00:00 เวลาสากล (UTC) และการประทับเวลา 0 คุณสามารถทดสอบสิ่งนี้ได้ในเบราว์เซอร์โดยสร้างตัวแปรใหม่ในไฟล์ epoch.js และกำหนด Date instance ใหม่ โดยยึดตามการประทับเวลา 0

// กำหนดการประทับเวลา 0 ให้กับตัวแปรใหม่
const epochTime = วันที่ใหม่ (0);
ยุคสมัย;
1 มกราคม 1970 00:00:00 น. เวลาสากล (UTC)

เวลาเป็นศูนย์ถูกเลือกเป็นมาตรฐานสำหรับวิธีที่คอมพิวเตอร์วัดเวลา และวิธีการนี้ใช้ใน JavaScript สิ่งสำคัญคือต้องเข้าใจการประทับเวลาและสตริงวันที่ เนื่องจากแนวคิดเหล่านี้สามารถใช้ได้ ขึ้นอยู่กับการตั้งค่าและวัตถุประสงค์ของแอปพลิเคชัน

ตอนนี้คุณรู้วิธีสร้างอินสแตนซ์ Date ใหม่ตามเวลาปัจจุบันและตามการประทับเวลาแล้ว JavaScript มีรูปแบบวันที่ทั้งหมดสี่รูปแบบ นอกเหนือจากเวลาปัจจุบันและการประทับเวลาเริ่มต้นแล้ว คุณยังสามารถใช้สตริงวันที่หรือระบุวันที่และเวลาที่เฉพาะเจาะจงได้

เพื่อสาธิต วิธีต่างๆอ้างอิงถึงวันที่ที่ระบุ ลองสร้างออบเจ็กต์ Date ใหม่ซึ่งแสดงถึง 4 กรกฎาคม 1776, 12:30 GMT ด้วยสามวิธีที่แตกต่างกัน

// วิธีการประทับเวลา
วันที่ใหม่ (-6106015800000);
// วิธีสตริงวันที่
new Date("31 มกราคม 1980 12:30");
// วิธีวันที่และเวลา
วันที่ใหม่ (1776, 6, 4, 12, 30, 0, 0);

ตัวอย่างทั้งหมดนี้แสดงข้อมูลวันที่และเวลาเดียวกันในรูปแบบที่แตกต่างกันสามวิธี

อย่างที่คุณเห็น วิธีการประทับเวลามีจำนวนลบ วันที่ก่อนเวลาศูนย์จะแสดงเป็นจำนวนลบ

ในตัวอย่างที่สาม วินาทีและมิลลิวินาทีจะแสดงด้วย 0 หากคุณสูญเสียข้อมูลใดๆ เมื่อคุณสร้างออบเจ็กต์ Date คุณต้องกำหนดให้เป็น 0 ข้อมูลที่หายไปไม่สามารถข้ามได้เนื่องจากลำดับของข้อมูลเวลาในสตริงไม่ได้ เปลี่ยน. ควรสังเกตว่าเดือนกรกฎาคมถูกกำหนดไว้ที่นี่เป็น 6 และไม่ใช่ 7 นี่เป็นเพราะว่าการนับถอยหลังไม่ได้เริ่มต้นจาก 1 แต่เริ่มต้นจาก 0 ข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้ในส่วนถัดไป

การดึงข้อมูลวันที่ด้วย get

เมื่อระบุวันที่ คุณสามารถเข้าถึงส่วนประกอบทั้งหมดได้โดยใช้วิธีการในตัวต่างๆ วิธีการส่งคืนแต่ละส่วนวันที่สัมพันธ์กับโซนเวลาท้องถิ่น แต่ละวิธีเหล่านี้เริ่มต้นด้วยการรับและส่งกลับจำนวนสัมพัทธ์ ด้านล่างนี้เป็นตารางรายละเอียดของวิธีการรับวัตถุ Date

วันที่/เวลา วิธี พิสัย ตัวอย่าง
ปี รับเต็มปี() ปปปป 1970
เดือน รับเดือน() 0-11 0 = มกราคม
วันของเดือน รับวันที่() 1-31 1 = วันที่ 1 ของเดือน
วันในสัปดาห์ รับวัน() 0-6 0 = วันอาทิตย์
ชั่วโมง รับชั่วโมง() 0-23 0 = เที่ยงคืน
นาที รับนาที() 0-59
ที่สอง รับวินาที() 0-59
มิลลิวินาที รับมิลลิวินาที() 0-999
การประทับเวลา รับเวลา()

// เริ่มต้นอินสแตนซ์วันเกิดใหม่
วันเกิด const = วันที่ใหม่ (1980, 6, 31);

ตอนนี้คุณสามารถใช้วิธีการทั้งหมดเพื่อแยกองค์ประกอบวันที่แต่ละรายการได้

วันเกิด.getFullYear(); // 1980
วันเกิด.getMonth(); // 6
วันเกิด.getDate(); // 31
วันเกิด.getDay(); // 4
วันเกิด.getHours(); // 0
วันเกิด.getMinutes(); // 0
วันเกิด.getSeconds(); // 0
วันเกิด.getMilliseconds(); // 0
วันเกิด.getTime(); // 333849600000 (สำหรับ GMT)

บางครั้งคุณจำเป็นต้องแยกวันที่เพียงบางส่วน และวิธีการรับในตัวจะช่วยคุณในเรื่องนี้

ตัวอย่างเช่น คุณสามารถเปรียบเทียบวันที่ปัจจุบันกับวันที่ 3 ตุลาคม เพื่อดูว่าเป็นวันที่ 3 ตุลาคมหรือไม่

// รับวันที่วันนี้
const วันนี้ = วันที่ใหม่ ();
//เทียบวันนี้กับวันที่ 3 ตุลาคม
ถ้า (today.getDate() === 3 && today.getMonth() === 9) (
console.log("วันนี้เป็นวันที่ 3 ตุลาคม");
) อื่น (
console.log("ไม่ใช่วันที่ 3 ตุลาคม");
}
ไม่ใช่วันที่ 3 ตุลาคม

วิธีการรับในตัวช่วยให้คุณเข้าถึงส่วนประกอบวันที่

การเปลี่ยนวันที่ด้วยการตั้งค่า

สำหรับวิธีการรับทั้งหมดที่กล่าวข้างต้น จะมีวิธีการ set ที่สอดคล้องกัน ถ้า get ถูกใช้เพื่อดึงองค์ประกอบวันที่ที่ระบุ set จะถูกใช้เพื่อแก้ไขส่วนประกอบเหล่านั้น ด้านล่างนี้เป็นตารางโดยละเอียดของวิธีการตั้งค่าสำหรับออบเจ็กต์ Date

วันที่/เวลา วิธี พิสัย ตัวอย่าง
ปี ตั้งเต็มปี() ปปปป 1970
เดือน ตั้งเดือน() 0-11 0 = มกราคม
วันของเดือน กำหนดวันที่() 1-31 1 = วันที่ 1 ของเดือน
วันในสัปดาห์ เซตเดย์() 0-6 0 = วันอาทิตย์
ชั่วโมง กำหนดชั่วโมง() 0-23 0 = เที่ยงคืน
นาที กำหนดนาที() 0-59
ที่สอง ชุดวินาที() 0-59
มิลลิวินาที ตั้งค่ามิลลิวินาที() 0-999
การประทับเวลา ตั้งเวลา() จำนวนมิลลิวินาทีนับตั้งแต่เวลาเป็นศูนย์

วิธีการตั้งค่าเหล่านี้สามารถใช้เพื่อเปลี่ยนองค์ประกอบวันที่ตั้งแต่หนึ่งรายการขึ้นไป ตัวอย่างเช่น คุณสามารถเปลี่ยนปีในตัวแปรวันเกิดเป็น 1997

// เปลี่ยนปีวันเกิด
วันเกิด setFullYear (1997);
วันเกิด;
พฤหัสบดีที่ 31 ก.ค. 2540 00:00:00 GMT+0000 (UTC)

ทีนี้ เมื่อคุณเรียกตัวแปรวันเกิด คุณจะไม่เห็นปี 1980 แต่เป็นปี 1997

วิธีการตั้งค่าในตัวช่วยให้คุณเปลี่ยนส่วนต่างๆ ของวัตถุ Date ได้

วิธี UTC

วิธีการรับที่อธิบายไว้ข้างต้นดึงส่วนประกอบวันที่ตาม การตั้งค่าท้องถิ่นเขตเวลาของผู้ใช้ หากต้องการเพิ่มการควบคุมวันที่และเวลา คุณสามารถใช้เมธอด getUTC ซึ่งทำงานเหมือนกับเมธอด get แต่คำนวณเวลาตาม UTC (Coordinated Universal Time) ด้านล่างนี้เป็นตารางวิธี UTC สำหรับวัตถุ Date ใน JavaScript

วันที่/เวลา วิธี พิสัย ตัวอย่าง
ปี รับUTCFullYear() ปปปป 1970
เดือน รับUTCเดือน() 0-11 0 = มกราคม
วันของเดือน รับUTCDate() 1-31 1 = วันที่ 1 ของเดือน
วันในสัปดาห์ รับUTCDay() 0-6 0 = วันอาทิตย์
ชั่วโมง รับUTCHours() 0-23 0 = เที่ยงคืน
นาที รับUTCMinutes() 0-59
ที่สอง รับUTTCวินาที() 0-59
มิลลิวินาที รับUTCMilliseconds() 0-999

เพื่อตรวจสอบความแตกต่างระหว่างท้องถิ่น รับวิธีการและรับวิธี UTC ให้รันโค้ดต่อไปนี้

// กำหนดเวลาปัจจุบันให้กับตัวแปร
const ตอนนี้ = วันที่ใหม่ ();
// พิมพ์เขตเวลาท้องถิ่นและ UTC
console.log(now.getHours());
console.log(now.getUTCHours());

รหัสนี้จะส่งออก เวลาปัจจุบันและเวลาในเขตเวลา UTC หากปัจจุบันคุณอยู่ในโซนเวลา UTC ตัวเลขที่โปรแกรมจะส่งออกจะเหมือนกัน

UTC จัดทำมาตรฐานเวลาสากลและสามารถรองรับรหัสเพื่อให้ตรงกับโซนเวลาได้หากจำเป็นในโปรแกรมของคุณ

บทสรุป

ในบทช่วยสอนนี้ คุณได้เรียนรู้วิธีสร้างอินสแตนซ์ของออบเจ็กต์ Date และวิธีใช้วิธีการในตัวของออบเจ็กต์เพื่อเข้าถึงและแก้ไขส่วนประกอบของวันที่ที่ระบุ มากกว่า ข้อมูลรายละเอียดเกี่ยวกับเวลาและวันที่ใน JavaScript ที่คุณสามารถพบได้บน Mozilla Developer Network

ความสามารถในการทำงานกับวันที่เป็นสิ่งสำคัญสำหรับหลาย ๆ คน งานทั่วไปใน JavaScript: จากการสร้างรายงานปกติไปจนถึงการแสดงวันที่และตารางเวลาในเขตเวลาที่ถูกต้อง

แท็ก:

JavaScript - บทที่ 11 วันที่ การแสดง และการประมวลผล

ใน วันที่จาวาสคริปต์กำหนดโดยจำนวนมิลลิวินาทีที่ผ่านไปตั้งแต่วันที่ 1 มกราคม พ.ศ. 2513

วัตถุในตัวใช้เพื่อทำงานกับวันที่และเวลา วันที่- ออบเจ็กต์นี้ไม่มีคุณสมบัติ แต่มีหลายวิธีที่ทำให้คุณสามารถตั้งค่าและเปลี่ยนแปลงวันที่และเวลาได้

วัตถุ วันที่สร้างขึ้นโดยใช้ตัวดำเนินการ ใหม่และผู้ออกแบบ- วันที่.

ตัวอย่างเช่น:

var myData=วันที่ใหม่();

ค่าตัวแปร ข้อมูลของฉันจะเป็นวันที่และเวลาปัจจุบัน:

วิธีการวัตถุ วันที่คุณสามารถรับค่าของเดือน วันในสัปดาห์ ชั่วโมง นาที และวินาทีแยกกัน:

  • รับวันที่- ส่งกลับตัวเลขในช่วงตั้งแต่ 1 ถึง 31 แทนวันของเดือน
  • รับชั่วโมง- ส่งกลับชั่วโมงของวันในช่วงตั้งแต่ 0 (เที่ยงคืน) ถึง 23
  • รับนาที- ส่งกลับนาทีในช่วงตั้งแต่ 0 ถึง 59
  • รับวินาที- ส่งคืนวินาทีในช่วงตั้งแต่ 0 ถึง 59
สมมติว่าเราต้องการเขียนสคริปต์ที่จะตรวจจับเวลาปัจจุบันและส่งออกเป็นรูปแบบ "hh:mm:ss"

วันที่จาวาสคริปต์

ทีนี้มาเขียนฟังก์ชันกันดีกว่า nเวลา():

ฟังก์ชัน nTime(obj) ( var t=new Date(); var h=t.getHours(); var m=t.getMinutes(); var s=t.getSeconds(); var result=h+":+m+ ///s; obj.res.value=result;

* อย่างที่คุณจำได้ วิธีการถูกแยกออกจากวัตถุด้วยจุด เราได้พูดถึงเรื่องนี้ในบทที่ 3 *อย่างที่คุณเห็นทุกอย่างเรียบง่าย ขั้นแรกเรากำหนดเวลาปัจจุบันจากนั้นโดยใช้วิธีการแยกค่าแต่ละค่าเป็นชั่วโมงนาทีและวินาทีจากนั้น

ที่นี่ฉันอยากจะชี้แจงบรรทัดด้วย var result=h+″+m+″+s- เป็นครั้งแรกที่เราเผชิญกับความจำเป็นในการส่งออกทั้งค่าตัวแปรและข้อความธรรมดา โดยหลักการแล้ว ไม่มีอะไรซับซ้อน: ตัวแปรจะถูกเขียนตามที่เป็นอยู่ ข้อความจะถูกวางไว้ในเครื่องหมายคำพูด และเครื่องหมาย + ดำเนินการต่อข้อมูลเช่น การรวมกันของพวกเขา

ในตัวอย่างของเรา มีข้อเสียเปรียบประการหนึ่ง: เราต้องการให้เวลาแสดงในรูปแบบ “hh:mm:ss” แต่ตอนนี้แสดงในรูปแบบ “h:m:s” นั่นคือเวลาตี 5 เวลาจะแสดงเป็น "5:0:0" แต่ฉันอยากให้เป็นเช่นนี้: "05:00:00" (ซึ่งเป็นเรื่องปกติมากกว่า) เช่น การบ้านคุณสามารถลองแก้ไขปัญหานี้ได้ เช่น การใช้โอเปอเรเตอร์ ถ้าและสตริงลิเทอรัล "0" (แนวคิดง่ายๆ คือ หากมีเวลาน้อยกว่า 10 ชั่วโมง ให้แสดงผลลัพธ์ก่อน ชม.เขียน "0" และอื่นๆ กับตัวแปรทั้งหมด)

ในระหว่างนี้ เรามาศึกษาวิธีการของวัตถุกันต่อไป วันที่:

  • รับวัน- ส่งกลับวันในสัปดาห์เป็นจำนวนเต็มตั้งแต่ 0 (วันอาทิตย์) ถึง 6 (วันเสาร์)
  • รับเดือน- ส่งกลับจำนวนเดือนในปีเป็นจำนวนเต็มตั้งแต่ 0 (มกราคม) ถึง 11 (ธันวาคม)
  • รับปี- ส่งกลับปีเป็นตัวเลขสองหลักสุดท้าย ( รับเต็มปี- ส่งกลับปีเป็นตัวเลขสี่หลัก)

    * ขออภัย ตั้งแต่ปี 2000 เกิดปัญหาในการแสดงปีในเบราว์เซอร์ที่แตกต่างกัน

เมธอด getYear ใน IE จะแสดงทั้งปี (แทนที่จะเป็นตัวเลขสองหลักสุดท้าย) และ FireFox จะแสดง 1XX แทนที่จะเป็น XX (เช่น แทนที่ 1)

ดังนั้นจึงควรใช้เมธอด getFullYear

วันที่จาวาสคริปต์

ทีนี้มาเขียนฟังก์ชันกันดีกว่า มาเขียนสคริปต์ที่จะกำหนดวันที่ปัจจุบันและแสดงในรูปแบบ "วันเดือนปี":

โค้ดหน้า HTML จะเรียบง่าย:

tข้อมูล()

ฟังก์ชั่น tData(obj) ( var s; var t=new Date(); var y=t.getFullYear(); var d=t.getDate(); var mon=t.getMonth(); switch (mon) ( case 0: s="มกราคม"; กรณีที่ 1: s="กุมภาพันธ์"; หยุดพัก; s="กรกฎาคม" ; กรณีที่ 7: s="สิงหาคม"; กรณีที่ 8: s="กันยายน"; ธันวาคม"; var result=d+" "+s+" "+y; =result;

  • มันเปิดออกนานกว่าตัวอย่างแรกเพราะว่า ฉันต้องแปลชื่อเดือนเป็นภาษารัสเซียวิธีการที่กล่าวถึงข้างต้นช่วยให้คุณได้รับวันที่ ถ้าเราจำเป็นต้องตั้งวันที่เราควรใช้วิธีการดังต่อไปนี้:
  • ตั้งวันที่- ตั้งค่าวันของเดือนให้อยู่ในช่วงตั้งแต่ 1 ถึง 31
  • ตั้งเวลา- ตั้งค่าชั่วโมงสำหรับเวลาปัจจุบันในช่วงตั้งแต่ 0 (เที่ยงคืน) ถึง 23
  • ตั้งนาที- ตั้งค่านาทีในช่วงตั้งแต่ 0 ถึง 59
  • ชุดวินาที- ตั้งค่าวินาทีในช่วงตั้งแต่ 0 ถึง 59
  • ตั้งปี- ตั้งค่าปี
  • ตั้งเดือน- ตั้งค่าเดือนในช่วงตั้งแต่ 0 (มกราคม) ถึง 11 (ธันวาคม) วันที่ตั้งเวลา
ดังนั้นหากจำเป็นต้องตั้งวันที่ 6 ธันวาคม 2553 เราก็จะได้โค้ดต่อไปนี้ในฟังก์ชัน:

Var t=วันใหม่();

var y=t.setYear(2010);

var d=t.setDate(6);

var mon=t.setMonth(11);

-

คุณสามารถตั้งค่าวันที่ได้โดยตรงในตัวสร้างโดยการระบุสตริงของรูปแบบ “เดือน วัน ปี ชั่วโมง:นาที:วินาที” เป็นพารามิเตอร์:

Var t=new Date("10 ก.พ. 1975 17:45:10");

ชั่วโมง นาที และวินาทีสามารถละเว้นได้ (ซึ่งจะเป็นศูนย์):

Var t=new Date("ก.พ.,10,1975");

สามารถระบุวันที่เดียวกันได้โดยใช้ตัวเลข โดยระบุปี เดือน วันที่ ชั่วโมง นาที วินาที โดยคั่นด้วยเครื่องหมายจุลภาค:

Var t=วันที่ใหม่(75, 1, 10, 17, 45, 10);

หรือละเว้นชั่วโมง นาที และวินาที (ซึ่งจะเป็นศูนย์):

Var t=วันที่ใหม่(75, 1, 10); * มีปัญหา: IE ไม่ต้องการแสดงปี ดังนั้นจึงเป็นการดีกว่าที่จะไม่ใช้ตัวเลือกเหล่านี้ ใหม่เพียงเท่านี้คุณก็พร้อมที่จะเขียนสคริปต์ด้วยตัวเองแล้วซึ่งเมื่อโหลดหน้าเว็บจะแสดงวันที่เวลาและวันที่เข้าชม (ในรูปแบบภาษารัสเซียปกติ) ขอให้โชคดี! วันที่ดีสำหรับสมาชิกและผู้อ่านเว็บไซต์บล็อกทุกคน ในบทความนี้ เราจะศึกษาออบเจ็กต์ในตัวของภาษาการเขียนโปรแกรม jscript – วันที่ออบเจ็กต์ JS Date ได้รับการออกแบบมาเพื่อทำงานกับวันที่และเวลา และแปลงสตริงเป็นรูปแบบวันที่ เมื่อสร้างคลาส Date jscript จะใช้

คำหลัก

และหนึ่งในนั้นสามประเภท คอนสตรัคเตอร์ มาดูไวยากรณ์ทั่วไปกัน:คลาส JS DATE - วันที่และเวลา<название дня><название месяца><дата1><время1><год>วันที่()

– ในกรณีนี้เอาต์พุตจะถูกสร้างขึ้นวันที่ปัจจุบัน

และเวลา js ในรูปแบบ:โดยตั้งเวลาตามกรีนิช เช่น ใช้ UTC (UCT - Universal Coordinated Time)

  • วันที่ (nมิลลิวินาที)อย่างที่คุณเห็น ที่นี่เราส่งผ่านพารามิเตอร์หนึ่ง nMilliseconds ซึ่งตั้งค่าวันที่ 1 เป็นมิลลิวินาที นับจากวันที่ 1 มกราคม 1970
  • วันที่ (ปี, เดือน, วันที่ [, ชั่วโมง [, นาที [, วินาที [, ms]]]])– ที่นี่เราจะเห็นว่ามีการส่งพารามิเตอร์หลายตัวไปยังตัวสร้าง ซึ่งช่วยให้คุณสามารถตั้งค่าวันที่และเวลา js ทั้งหมดด้วยตนเอง:
  • ปี- ปีในรูปแบบสี่หลัก เช่น 1998 (แต่ไม่ใช่ 98)
  • เดือน- หมายเลขเดือนตั้งแต่ 0 (มกราคม) ถึง 11 (ธันวาคม)
  • วันที่- ปฏิทิน date1 อยู่ในช่วงตั้งแต่ 1 ถึง 31
  • ชั่วโมง- ชั่วโมงของวันในช่วงตั้งแต่ 0 ถึง 23
  • นาที- นาทีในช่วงตั้งแต่ 0 ถึง 59

วินาที

– จำนวนวินาทีในช่วงตั้งแต่ 0 ถึง 59 //********************************** นางสาว – จำนวนมิลลิวินาทีในช่วงตั้งแต่ 0 ถึง 999เอาล่ะ มาดูตัวอย่างต่อไปนี้ของการใช้คลาส JS DATE ในสคริปต์ภาษาโปรแกรมที่ทำงานภายใต้การควบคุมของเซิร์ฟเวอร์: //ระยะเวลา 1,000 มิลลิวินาที หลังจากวันที่ 1 มกราคม 1970 b = วันที่ใหม่ (1,000); //เวลาของตัวเอง date2 c = วันที่ใหม่ (2000, 5, 20, 12, 20, 55, 97); WScript.Echo(a+"\n" WScript.Echo(a+"+บี+"

+ ค) ;

เอาล่ะ ตอนนี้เรามาดูวิธีการหลักของคลาส JS Date กันดีกว่ารับเต็มปี()

– หมายเลขปีปัจจุบันในรูปแบบสี่หลักรับวันที่()

– ส่งกลับตัวเลขวันที่ปัจจุบัน (ตั้งแต่ 1 ถึง 31)รับเดือน()

– หมายเลขของเดือนปัจจุบัน (ตั้งแต่ 1 ถึง 12)รับวัน()

- จำนวนวันในสัปดาห์ (0 สำหรับวันอาทิตย์, 1 สำหรับวันจันทร์ ฯลฯ)รับชั่วโมง()

– จำนวนชั่วโมง (นับเริ่มตั้งแต่เที่ยงคืน)รับนาที()

- ส่งกลับจำนวนนาที (การนับเริ่มจากต้นชั่วโมง)รับวินาที()

- จำนวนวินาที (นับจากจุดเริ่มต้นของนาที)รับมิลลิวินาที()

- จำนวนมิลลิวินาที

//********************************** ลองมาดูตัวอย่างสคริปต์ต่อไปนี้ที่สาธิตวิธีการใช้เมธอดคลาส Date ที่อธิบายไว้ข้างต้น: //********************************** // วัตถุ JS วันที่ // 2_date.js var js_new_date = วันที่ใหม่ ;//js var gFullYear, gDate, gMonth, gDay, gHours, gMinutes, gSeconds, gMilliseconds, MyArr, ดัชนี, รายการ = "" ; var js_new_date = วันที่ใหม่ ; gFullYear = "ปี var js_new_date = วันที่ใหม่ ;\t\t" + js_new_date.getFullYear(); gDate = "วันที่ var js_new_date = วันที่ใหม่ ;+ js_new_date.getDate(); var js_new_date = วันที่ใหม่ ; gMonth = "เดือน var js_new_date = วันที่ใหม่ ;+ js_new_date.getMonth(); กเดย์ ="วันในสัปดาห์\t\t" + js_new_date.getDay(); gHours = "ชั่วโมง WScript.Echo(a+"

+ js_new_date.getHours(); gMinutes = "นาที+ js_new_date.getMinutes(); gSeconds = "วินาที+ js_new_date.getSeconds();

กรัมมิลลิวินาที ="มิลลิวินาที\t\t"

//********************************** + js_new_date.getMilliseconds(); //********************************** //บันทึกทุกอย่างไว้ในอาร์เรย์<= 100000 ; i++ ) { summ+= i; } //Конец end_time = (new Date () ) .getTime () ; MyArr = [ gFullYear, gDate, gMonth, gDay, gHours, gMinutes, gSeconds, gMilliseconds] สำหรับ (ดัชนี var ใน my_arr) ( list+= MyArr[ index] + "เราจะเห็นว่าที่นี่เราได้ประกาศตัวแปร jscript จำนวนหนึ่งที่เก็บค่าที่ส่งคืนโดยฟังก์ชันของคลาสภาษา Date() JS นอกจากนี้ เราได้ลงทะเบียนตัวแปรทั้งหมดในอาร์เรย์ MyArr (คำอธิบายโดยละเอียดของ อาร์เรย์อยู่ในบทความ " ") การเข้าถึงจะดำเนินการผ่าน สำหรับวงใน(

หากพิจารณาสถานการณ์นี้อย่างใกล้ชิด คุณจะเห็นสิ่งนั้น เราประกาศวัตถุ Date สองครั้งในสคริปต์ JS- ถ้าไม่ทำอย่างนี้แล้ว ฟังก์ชัน getTime จะเป็นทั้งตอนเริ่มต้นและตอนท้ายของวงจร ส่งคืนค่าหนึ่งค่า.

รับเขตเวลาออฟเซ็ต ()– ส่งกลับค่าความแตกต่างเป็นนาทีที่สัมพันธ์กับเวลาท้องถิ่นและเวลาสากล (เวลามาตรฐานกรีนิช)

//********************************** // วัตถุ JS DATE // วิธีการ getTimezoneOffset()//getTimezoneOffset_date.js //********************************** var time_zone, time_zone_cur //ชดเชยสำหรับงวดปัจจุบัน time_zone_cur = (วันที่ใหม่()).getTimezoneOffset() //js วันที่ใหม่ //ชดเชยสำหรับวันที่ที่กำหนด time_zone = (วันที่ใหม่ (2000, 5, 20, 12, 20, 55, 97)).getTimezoneOffset() WScript.Echo(time_zone + " WScript.Echo(a+"+ time_zone_cur) ;

toDateString()– ฟังก์ชั่นนี้ของวัตถุ Date ในสคริปต์ js จะส่งกลับสตริงที่จะแสดง date2 สำหรับเขตเวลาท้องถิ่น

toGMTString()– คล้ายกับฟังก์ชันก่อนหน้า แต่อิงตามโซนเวลา GMT (รูปแบบเวลามาตรฐานกรีนิช)

toLocaleDateString()- เมธอด js Date นี้จะส่งคืนสตริงที่จะแสดง date2 สำหรับโซนเวลาท้องถิ่นตามการตั้งค่าภูมิภาคของระบบ

toLocaleString()– แปลงวันที่เป็นสตริงตามโซนเวลาท้องถิ่นและแบบแผนการจัดรูปแบบวันที่ท้องถิ่น

toLocaleTimeString()– ส่งกลับสตริงที่ประกอบด้วยเวลาจากวันที่ในเขตเวลาท้องถิ่นตามแบบแผนการจัดรูปแบบเวลาท้องถิ่น

toString()– แปลงวันที่เป็นสตริง

toTimeString()– แปลงเวลาจาก date2 เป็นรูปแบบสตริง

toUTCString()– แปลงวันที่เป็นรูปแบบสตริงโดยใช้เวลาสากล

ฟังก์ชั่นข้างต้นอาจดูซ้ำซากจำเจและสับสนสำหรับคุณ ดังนั้น เพื่อไม่ให้เขียนตัวอย่างสำหรับแต่ละวิธี ฉันจึงเขียนสคริปต์ง่ายๆ โดยให้ตัวอย่างวิธีทำงานทั้งหมดพร้อมกัน:

//********************************** // JS วันที่ // แปลง date2 เป็น string2// 4_toStr_date.js //********************************** var js_date_gettime = วันที่ใหม่; + js_new_date.getDay();//js var toDS, toGMTS, toLDS, toLS, toLTS, toS, toTS, toUTCS, MyArr1, ดัชนี, รายการ = "" ; //เข้าถึงแต่ละองค์ประกอบของอาร์เรย์สำหรับ (ดัชนี var ใน my_arr) ( รายการ+= MyArr1[ ดัชนี] + " WScript.Echo(a+"- ) // ส่งออกรายการ WScript.Echo (รายการ) ;


2024 wisemotors.ru. วิธีนี้ทำงานอย่างไร. เหล็ก. การทำเหมืองแร่ สกุลเงินดิจิทัล