คำก่อนหน้านี้
วัตถุวันที่เป็นชนิดข้อมูลในตัวในภาษา JavaScript และใช้เพื่อให้อินเทอร์เฟซการดำเนินการสำหรับวันที่และเวลา วัตถุวันที่ถูกสร้างขึ้นตามคลาส java.util.date ใน Java ต้น ด้วยเหตุผลนี้ประเภทวันที่ใช้มิลลิวินาทีที่ผ่านไปตั้งแต่ 0:00 น. ของวันที่ 1 มกราคม 1970 เพื่อบันทึกวันที่ ช่วงเวลาที่สามารถเป็นตัวแทนได้คือ 100 ล้านวันในเวลาประมาณ 0:00 น. ในวันที่ 1 มกราคม 1970 บทความนี้จะแนะนำการใช้วัตถุวันที่โดยละเอียด
วิธีการคงที่ก่อนที่จะแนะนำตัวสร้างของวัตถุวันที่เราจะแนะนำวิธีการคงที่ก่อน เนื่องจากวิธีการคงที่ของวัตถุวันที่เกี่ยวข้องอย่างใกล้ชิดกับตัวสร้าง กระบวนการสร้างวัตถุวันที่โดยใช้คอนสตรัคเตอร์นั้นคล้ายกับกระบวนการใช้วิธีการคงที่สวมเสื้อโค้ท
มีสามวิธีแบบคงที่ในวัตถุวันที่คือวันที่วันนี้ (), วันที่ parse () และ date.utc () วิธีการเหล่านี้เรียกผ่านตัวสร้างวันที่ () ตัวเองแทนที่จะผ่านวัตถุอินสแตนซ์วันที่
Date.now ()
Ecmascript5 ได้เพิ่มวิธีการ NOW () ซึ่งส่งคืนจำนวนมิลลิวินาทีจากเวลาปัจจุบันเป็น 0:00 UTC ในวันที่ 1 มกราคม 1970 วิธีนี้ไม่สนับสนุนพารามิเตอร์ผ่านผ่าน
[หมายเหตุ] วิธีนี้ส่งคืนตัวเลขตัวเลขตัวเลข
console.log (date.now ()); // 1468297046050console.log (วันที่ ('2016,1,1')); // 1468297046050Console.log (typeof date.now (); // 'number'ในเบราว์เซอร์ที่ไม่รองรับเมธอดวันที่ () คุณสามารถใช้ตัวดำเนินการ + เพื่อแปลงวัตถุวันที่เป็นตัวเลขและสามารถทำได้ผลที่คล้ายกัน
console.log (วันที่ใหม่ ()); // อังคาร 12 ก.ค. 2016 12:21:33 GMT+0800 (เวลามาตรฐานจีน) console.log (+วันที่ใหม่ ()); // 1468297293433Console.log (+วันที่ใหม่ (2000,1,1,1);
วิธีนี้มักจะใช้ในการวิเคราะห์รหัส
var start = date.now (); dosomething (); var stop = date.now (); result = หยุด - เริ่มต้น;
date.parse ()
วิธีนี้ใช้เพื่อแยกสตริงวันที่ พารามิเตอร์เป็นสตริงที่มีวันที่และเวลาที่จะแยกวิเคราะห์โดยส่งคืนจำนวนมิลลิวินาทีตั้งแต่ 0:00 น. ของวันที่ 1 มกราคม 1970 ถึงวันที่กำหนด
วิธีนี้วิเคราะห์รูปแบบของสตริงตาม กฎรูปแบบวันที่และเวลาสตริง นอกจากรูปแบบมาตรฐานแล้วยังรองรับรูปแบบต่อไปนี้ หากไม่ได้รับการยอมรับสตริง NAN จะถูกส่งคืน
1. 'เดือน/วัน/ปี' เป็น 6/13/2004
2. 'เดือน, วันปี' เช่น 12,2004 มกราคมหรือ 12 ม.ค. 25004
3. 'สัปดาห์, เดือน, ปี, เวลา: นาที, โซนเวลาที่สอง' วันที่ 25 พฤษภาคม 2004 00:00:00 น. GMT-0700
[หมายเหตุ] เบราว์เซอร์ไม่รองรับรูปแบบสตริงที่ไม่ได้แสดงวันที่ แต่เวลาเท่านั้น
console.log (date.parse ('6/13/2004')); // 1087056000000console.log (date.parse ('12,2004 มกราคม')); // 1073836800000Console.log (วันที่. gmt-0700 ')); // 1085468400000console.log (date.parse (' 2004-05-25T00: 00: 00: 00 ')); // 1085443200000Console.log (DAT E.Parse ('2016')); // 1451606400000console.log (date.parse ('t00: 00: 00')); // nanconsole.log (date.parse ()); // nan[หมายเหตุ] ใน ECMASCript5 หากสตริงที่ใช้กฎรูปแบบสตริงเวลาวันที่มาตรฐานมีคำนำหน้า 0 ก่อนคณิตศาสตร์มันจะถูกแยกวิเคราะห์เป็นเวลา UTC และหากเวลาไม่ได้นำหน้าเป็น 0 มันจะถูกแยกวิเคราะห์เป็นเวลาท้องถิ่น โดยทั่วไปสถานการณ์อื่น ๆ จะได้รับการแก้ไขในเวลาท้องถิ่น
console.log (date.parse ('7/12/2016')); // 1468252800000console.log (date.parse ('2016-7-12')); // 1468252800000console.log (วันที่date.utc ()
Date.utc () ยังส่งคืนจำนวนมิลลิวินาทีของวันที่ที่กำหนด แต่พารามิเตอร์ของมันไม่ใช่สตริง แต่พารามิเตอร์ตัวเลขที่เป็นตัวแทนของปีเดือนวันวันชั่วโมงนาทีที่สองและมิลลิวินาทีตามลำดับ
Date.utc (ปี, เดือน, วัน, ชั่วโมง, นาที, วินาที, MS), พารามิเตอร์ปีและเดือนได้รับการแก้ไขและพารามิเตอร์ที่เหลือเป็นตัวเลือก ดูที่นี่สำหรับรายละเอียดเกี่ยวกับกฎรูปแบบวันที่และเวลา
เนื่องจากฟังก์ชั่นมีพารามิเตอร์อย่างเป็นทางการ 7 ค่าความยาวของมันคือ 7
console.log (date.utc.length); // 7
[หมายเหตุ] วิธีนี้ใช้เวลา UTC ไม่ใช่เวลาท้องถิ่น
console.log (date.utc (1970)); // nanconsole.log (date.utc (1970,0)); // 0console.log (date.utc (1970,0,2)); // 86400000console.log (DA te.utc (1970,0,1,1)); // 36000000console.log (วันที่. (1970,0,0,1,1,59)); // 714000console.log (วันที่. (1970,0,0,1,1,1,59,30)); // 717000000
ตัวสร้างวันที่ () คอนสตรัคเตอร์มีวิธีการใช้งานสูงสุด 5 วิธี
【 0 】วันที่ ()
ตัวเลขสามารถเรียกได้เหมือนฟังก์ชั่นที่ไม่มีตัวดำเนินการใหม่ มันจะไม่สนใจพารามิเตอร์ที่เข้ามาทั้งหมดและส่งคืนการแสดงสตริงของวันที่และเวลาปัจจุบัน
วันที่();
[หมายเหตุ] เนื่องจากฟังก์ชั่นวันที่ () ไม่ได้ใช้ตัวดำเนินการจึงไม่สามารถเรียกได้ว่าตัวสร้างจริง
console.log (วันที่ ()); // "อังคาร 12 ก.ค. 2016 13:38:41 GMT+0800 (เวลามาตรฐานจีน)" คอนโซล log (วันที่ ('2016/1/1')); // "วันที่ 12 ก.ค. 2016 13:38:41 GMT+0800【 1 】เมื่อฟังก์ชั่นวันที่ () ใช้ตัวดำเนินการใหม่และไม่มีพารามิเตอร์วัตถุวันที่จะถูกสร้างขึ้นตามเวลาและวันที่ปัจจุบัน
วันที่ใหม่ ();
console.log (วันที่ใหม่ ()); // tue 12 ก.ค. 12 2016 13:41:45 GMT+0800 (เวลามาตรฐานจีน) คอนโซล. ล็อก (วันที่ใหม่); // อังคาร 12 ก.ค. 2016 13:41:45 GMT+0800 (เวลามาตรฐานจีน)
【 2 】 date () ฟังก์ชั่นสามารถยอมรับพารามิเตอร์ตัวเลขซึ่งแสดงถึงจำนวนมิลลิวินาทีระหว่างเวลาที่กำหนดและ 0 นาฬิกาในวันที่ 1 มกราคม 1970
วันใหม่ (มิลลิวินาที);
console.log (วันที่ใหม่ (0)); // thu ม.ค. 01 1970 08:00:00 GMT+0800 (เวลามาตรฐานจีน) console.log (วันใหม่ (86400000)); // fri 02 มกราคม 1970 08:00:00 GMT+0800
【 3 】ฟังก์ชั่นวันที่ () สามารถยอมรับพารามิเตอร์สตริงและแบบฟอร์มพารามิเตอร์คล้ายกับเมธอด date.parse () แต่เมธอด parse () ส่งคืนตัวเลขในขณะที่ฟังก์ชั่นวันที่ () ส่งคืนวัตถุ
วันที่ใหม่ (datestring); console.log (วันที่ใหม่ ('6/13/2004')); // sun Jun 13 2004 00:00:00 GMT+0800 (เวลามาตรฐานจีน) console.log (วันที่ ('6/13/2004')); วันที่ (6/13/2004)); // ObjectConsole.log (typeof date.parse (6/13/2004)); // หมายเลขการประมวลผลของคำนำหน้า 0 ในวันที่มาตรฐานและสตริงเวลาก็คล้ายกับวิธี Date.parse () หากมีคำนำหน้า 0 มันจะเทียบเท่ากับเวลา UTC และหากไม่มีมันจะเทียบเท่ากับเวลาท้องถิ่น ส่วนที่เหลือมักจะเป็นเวลาท้องถิ่น
console.log (วันที่ใหม่ ('7/12/2016')); // อังคาร 12 ก.ค. 2016 00:00:00 GMT+0800 (เวลามาตรฐานจีน) คอนโซลล็อก (วันที่ใหม่ ('2016-7-12')); วันที่ ('2016-07-12')); // อังคาร 12 ก.ค. 2016 08:00:00 GMT+0800 (เวลามาตรฐานจีน)【 4 】ฟังก์ชั่นวันที่ () สามารถยอมรับพารามิเตอร์ที่คล้ายกับวิธี date.utc () แต่วิธี date.utc () จะส่งคืนจำนวนมิลลิวินาทีและเวลา UTC ในขณะที่ฟังก์ชันวันที่ () ส่งคืนวัตถุและเป็นเวลาท้องถิ่น
console.log (วันที่ใหม่ (2016,7,12)); // วันศุกร์ที่ 12 ส.ค. 2016 00:00:00 GMT+0800 (เวลามาตรฐานจีน) console.log (+วันที่ใหม่ (2016,7,12)); // 14709312000000console.log วันที่ (2016,7,12)); // 'Object'console.log (Date.utc (2016,7,12)); // 14709600000000console.log (typeof date.utc (2016,7,12)); //' จำนวน '
[หมายเหตุ] เมื่อใช้วิธีการที่คล้ายกับฟังก์ชั่น date.parse () หากวัตถุวันที่อยู่นอกช่วงเบราว์เซอร์จะคำนวณวันที่เป็นค่าเป็นค่าภายในช่วงโดยอัตโนมัติ เมื่อใช้วิธีการที่คล้ายกับฟังก์ชั่น date.utc () หากวัตถุวันที่อยู่นอกช่วงเบราว์เซอร์จะแจ้งวันที่ไม่ถูกต้อง
console.log (วันที่ใหม่ (2016,7,32)); // thu Sep 01 2016 00:00:00 GMT+0800 (เวลามาตรฐานจีน) console.log (วันที่ใหม่ (2016,8,1)); // Thu Sep 01 2016 00:00:00:00 GMT+0800 วันที่ ('2016-8-32')); // dateconsole.log ไม่ถูกต้อง (วันที่ใหม่ ('2016-9-1')); // thu 01 ก.ย. 2016 00:00:00 GMT+0800 (เวลามาตรฐานจีน)ตัวอย่างวิธีการ
วัตถุวันที่ไม่มีคุณสมบัติที่สามารถอ่านและเขียนได้โดยตรงและการเข้าถึงวันที่และเวลาทั้งหมดจะต้องผ่านวิธีการ วิธีการส่วนใหญ่ของวัตถุวันที่แบ่งออกเป็นสองรูปแบบ: หนึ่งคือการใช้เวลาในท้องถิ่นและอีกวิธีหนึ่งคือการใช้เวลา UTC ซึ่งอยู่ในรายการด้านล่าง ตัวอย่างเช่น Get [UTC] Day () หมายถึงทั้ง getday () และ getutcday ()
มี 46 วิธีการอินสแตนซ์ในวัตถุวันที่ซึ่งสามารถแบ่งออกเป็น 3 หมวดหมู่ต่อไปนี้: ไปคลาสรับคลาสและตั้งค่าคลาส
【ถึงชั้นเรียน】
วิธีการคลาสจะส่งคืนสตริงจากวัตถุวันที่ระบุเวลาที่ระบุ
TOSTRING ()
ส่งคืนสตริงวันที่ของเขตเวลาท้องถิ่น
toutcstring ()
ส่งคืนสตริงวันที่ของเวลา UTC
toisostring ()
ส่งคืนสตริงรูปแบบสตริงวันที่มาตรฐานของวัตถุวันที่
Totimestring ()
ส่งคืนสตริงที่ส่งคืนส่วนเวลาของวัตถุวันที่
tojson ()
ส่งคืนสตริงวันที่ที่สอดคล้องกับรูปแบบ JSON ซึ่งเหมือนกับผลลัพธ์การส่งคืนของวิธีการ toisostring
console.log (วันที่ใหม่ ('2016-7-12'). ToString ()); // อังคาร 12 ก.ค. 2016 2016 00:00:00 GMT+0800 (เวลามาตรฐานจีน) คอนโซล (วันที่ใหม่ ('2016-7-12'). TOUTCSTRING (); วันที่ ('2016-7-12'). Toisosstring ()); // 2016-07-11T16: 00: 00.000zconsole.log (วันที่ใหม่ ('2016-7-12'). todatestring ()); // tue 12 2016Console.log GMT+0800 (เวลามาตรฐานจีน) console.log (วันที่ใหม่ ('2016-7-12'). tojson ()); // 2016-07-11T16: 00: 00.000ZTolocalestring ()
การแปลงวิธีการ ToString ()
Tolocaletimestring ()
การแปลงวิธีการ totimestring () แปลเป็นภาษาท้องถิ่น
tolocaledatestring ()
การแปลงวิธีการ todatestring () ที่แปลเป็นภาษาท้องถิ่น
console.log (วันที่ใหม่ ('2016-7-12'). ToString ()); // อังคาร 12 ก.ค. 2016 2016 00:00:00 GMT+0800 (เวลามาตรฐานจีน) console.log (วันที่ใหม่ ('2016-7-12') วันที่ ('2016-7-12'). todatestring ()); // อังคาร 12 ก.ค. 2016console.log (วันที่ใหม่ ('2016-7-12'). tolocaledatestring ()); // 2016/7/12console.log (วันที่ใหม่ ('2016-7-12') เวลา) console.log (วันที่ใหม่ ('2016-7-12'). tolocaletimestring ()); // 12:00:00 น.【รับคลาส】
วัตถุวันที่จัดเตรียมชุดของวิธีการเรียน GET เพื่อให้ได้ค่าของแง่มุมที่แน่นอนของวัตถุอินสแตนซ์
ก่อนที่จะแนะนำวิธีการเรียนคลาสเราต้องแนะนำวิธีการ Valueof () ก่อน
ค่าของ ()
ส่งคืนจำนวนมิลลิวินาทีตั้งแต่ 0:00 น. ของวันที่ 1 มกราคม 1970
ดังนั้นจึงสะดวกในการใช้ตัวดำเนินการเปรียบเทียบเพื่อเปรียบเทียบค่าวันที่
var date1 = วันที่ใหม่ (2007,0,1); var date2 = วันที่ใหม่ (2007,1,1); console.log (วันที่ 1> วันที่ 2); // falseconsole.log (วันที่ 1 <วันที่ 2); // จริง
getTime ()
ส่งคืนจำนวนมิลลิวินาทีตั้งแต่ 0:00 น. ของวันที่ 1 มกราคม 1970 เช่นเดียวกับค่าของ ()
ก่อน Ecmascript5 คุณสามารถใช้วิธี getTime () เพื่อใช้งานวันที่ตอนนี้ ()
date.now = function () {return (วันที่ใหม่ ()). getTime ()}getTimeZoneOffset ()
ส่งคืนความแตกต่างของโซนเวลาระหว่างเวลาปัจจุบันและ UTC แสดงเป็นนาที (8*60 = 480 นาที) ผลการส่งคืนจะคำนึงถึงปัจจัยเวลาประหยัดเวลากลางวัน
console.log (วันที่ใหม่ ('2016-7-12'). valueof ()); // 1468252800000console.log (วันที่ใหม่ ('2016-7-12'). getTime ()); // 1468252800000console.log (วันที่ใหม่ ('2016-7-12')getYear ()
ส่งคืนจำนวนปีจากปี 1900 (ล้าสมัย)
รับ [UTC] อย่างเต็มที่ ()
ส่งคืนปี (4 หลัก)
รับ [UTC] เดือน ()
กลับไปที่เดือน (0-11)
รับ [UTC] วันที่ ()
กลับไปที่วันที่ (1-31)
รับ [UTC] วัน ()
กลับไปที่วันของสัปดาห์ (0-6)
รับ [UTC] ชั่วโมง ()
ค่าชั่วโมงส่งคืน (0-23)
รับ [UTC] นาที ()
ส่งคืนค่านาที (0-59)
รับ [UTC] วินาที ()
ส่งคืนค่าที่สอง (0-59)
รับ [UTC] มิลลิวินาที ()
ส่งคืนค่ามิลลิวินาที (0-999)
[หมายเหตุ] เวลา UTC ถูกตั้งค่าโดยสตริงวันที่มาตรฐานและเวลาและมีการตั้งค่าพารามิเตอร์ในรูปแบบของ pre-0
console.log (วันที่ใหม่ ('2016-07-12T10: 00'). getYear ()); // 116console.log (วันที่ใหม่ ('2016-07-12T10: 00'). getRySeHear ()); // 2016Console.log (ใหม่ วันที่ ('2016-07-12T10: 00'). getUtcfulyear ()); // 2016console.log (วันที่ใหม่ ('2016-07-12T10: 00'). getMonth ()); // 6console.log วันที่ ('2016-07-12T10: 00'). getDate ()); // 12console.log (วันที่ใหม่ ('2016-07-12T10: 00'). getUtcdate ()); // 2console.log (ใหม่ ('2016-07-12T10: 00') วันที่ ('2016-07-12T10: 00'). getUtcday ()); // 2console.log (วันที่ใหม่ ('2016-07-12T10: 00'). gethours ()); // 18console.log วันที่ ('2016-07-12T10: 00'). getMinutes ()); // 0console.log (วันที่ใหม่ ('2016-07-12T10: 00'). getUtcMinutes ()); // 0console.log วันที่ ('2016-07-12T10: 00'). getUtcSeconds ()); // 0console.log (วันที่ใหม่ ('2016-07-12T10: 00'). getMilliseconds ()); // 0console.log// เวลาปัจจุบันคือ 16: 35console.log (วันที่ใหม่ (). gethours ()); // 16console.log (วันที่ใหม่ (). getTchours ()); // 8
【ตั้งคลาส】
วัตถุวันที่มีชุดของวิธีการคลาส Set เพื่อตั้งค่าแง่มุมต่าง ๆ ของวัตถุอินสแตนซ์
วิธีการตั้งค่าโดยทั่วไปสอดคล้องกับวิธีการรับ เมธอดที่กำหนดจะส่งผ่านในพารามิเตอร์คล้ายกับวันที่. utc () และส่งคืนจำนวนมิลลิวินาทีภายในของวันที่ที่ปรับแล้ว
[หมายเหตุ] ได้รับในสัปดาห์เท่านั้นไม่ได้ตั้งค่า
settime ()
ใช้รูปแบบมิลลิวินาทีเพื่อตั้งค่าของวัตถุวันที่
var d = วันที่ใหม่ ('2016-07-12T10: 00'); console.log (D.Settime (86400000), d); // 86400000 FRI 02 มกราคม 1970 08:00:00 GMT+0800 (เวลามาตรฐานจีน)setyear ()
กำหนดปี (ล้าสมัย)
var d = วันที่ใหม่ ('2016-07-12T10: 00'); console.log (D.Setyear (2000), D, D.GetYear ()); // 96333960000 WED JUL 12 2000 18:00:00 GMT+0800ตั้งค่า [UTC] อย่างเต็มที่ ()
กำหนดปี (4 หลัก) และค่าเดือนและวันที่เป็นตัวเลือก
ตั้งค่า [UTC] เดือน ()
ตั้งค่าเดือน (0-11) และค่าวันที่เป็นตัวเลือก
ตั้งค่า [UTC] วันที่ ()
ตั้งค่าวัน (1-31)
var d = วันที่ใหม่ ('2016-07-12T10: 00'); console.log (d.setwalyear (2015,1,1), d.getfulyear ()); // 1422784800000 2015console.log (d.setmonth (2), d.getmonth (); 2console.log (d.setdate (20), d.getdate ()); // 1426845600000 20console.log (d.tolocalestring ()); // 2015/3/20 18:00:00 PMตั้งค่า [UTC] ชั่วโมง ()
ตั้งค่าชั่วโมง (0-23) รวมถึงค่านาทีที่เป็นตัวเลือกค่าที่สองและค่ามิลลิวินาที
ตั้งค่า [UTC] นาที ()
ตั้งค่านาที (0-59) รวมถึงค่าที่สองเป็นทางเลือกและค่ามิลลิวินาที
ตั้งค่า [UTC] วินาที ()
ตั้งค่าที่สอง (0-59) และค่ามิลลิวินาทีเสริม
ตั้งค่า [UTC] มิลลิวินาที ()
ตั้งค่ามิลลิวินาที (0-999)
var d = วันที่ใหม่ ('2016-07-12T10: 20: 30'); console.log (d.sethours (1,2,3), d.getHours ()); // 1468256523000 1console.log (d.setminutes (2,3) 2console.log (d.setseconds (3), d.getSeconds ()); // 1468256523000 3console.log (d.tolocaletimestring ()) // 1:02:03 AM var d = วันที่ใหม่ ('2016-07-12T10: 20: 30'); console.log (d.setutchours (1,2,3), d.gethours ()); // 1468285323000 9console.log (d.setutcminutes (2,3) 2console.log (d.setutcseconds (3), d.getseconds ()); // 1468285323000 3console.log (d.tolocaletimestring ()) // 9:02:03 AMบทความข้างต้นเกี่ยวกับระบบประเภท JavaScript - ความเข้าใจที่ครอบคลุมของวัตถุวันที่วันที่เป็นเนื้อหาทั้งหมดที่ฉันได้แบ่งปันกับคุณ ฉันหวังว่าคุณจะให้ข้อมูลอ้างอิงและฉันหวังว่าคุณจะสนับสนุน wulin.com มากขึ้น