นี่เป็นคำถามที่เพื่อนถามในกลุ่ม ในเวลานั้นฉันบอกว่าฉันสามารถตัดสินได้ว่าวันนั้นอยู่ติดกันหรือไม่ ต่อมาฉันคิดถึงมันอย่างระมัดระวังและพบว่ามันผิดอย่างสมบูรณ์
ข้อกำหนดปัญหา
กำหนด 5 วันของรูปแบบเดียวกันคุณจะพิจารณาได้อย่างไรว่าเป็น 5 วันติดต่อกัน?
ปฏิกิริยาแรกของฉันคือ getday () และจัดเรียงแล้วเปรียบเทียบก่อนและหลัง -
แต่ถ้าคุณคิดอย่างรอบคอบมันก็ผิดอย่างสมบูรณ์ ตัวอย่างเช่นสิ่งนี้จะเป็นการตัดสินที่ผิด
และมันไม่ได้เป็นเพียงปัญหาดังกล่าว แต่ยังข้ามเดือนวันส่งท้ายปีเก่าเดือนกระโดดและปัญหาอื่น ๆ
จากนั้นมีรหัสต่อไปนี้
ปล่อยให้การประทับเวลาราบรื่นทุกอย่าง
เพื่อไม่ให้กังวลเกี่ยวกับปัญหาเหล่านี้ฉันคิดถึงการประทับเวลาและผู้ชายคนนี้สามารถเพิกเฉยต่อปัญหาข้างต้นได้อย่างสมบูรณ์ เพียงประมวลผลการประทับเวลาและเปรียบเทียบในท้ายที่สุด
จากนั้นฉันให้รหัสต่อไปนี้:
Let Days = ['2016-02-28', '2016-02-29', // Leap Month'2016-03-01 ', // ข้ามเดือน '2016-03-02', '2016-03-03',] // เรียงลำดับก่อน dt.setDate (dt.getDate () + 4 - i) // ประมวลผลเป็นวันที่ส่งคืน + dt}) // เปรียบเทียบว่าการประทับเวลาเป็นคอนโซลเดียวกัน (_days [0] == _days [1] && _days [0] == _days [2] && _days [4])
ตกลงปัญหาทั้งหมดได้รับการแก้ไขแล้วและไม่สำคัญว่าคุณจะข้ามปีใหม่ข้ามเดือนหรือกระโดดเดือน
การห่อหุ้มฟังก์ชั่นทั่วไป
รหัสข้างต้นยังคงมีข้อบกพร่องเล็กน้อยเนื่องจากเวลานาทีและวินาทีจะไม่ถูกประมวลผลและหากมีเวลา, นาทีและวินาทีคุณต้องลบออกก่อน
Let Days = ['2016-02-28 12:00:00', '2016-02-29 12:00:01', // Leap Month'2016-03-01 12:00:02 ', // Cross-Month'2016-03-02 12:00:03' 12:00:04 ',] console.log (ต่อเนื่อง (วัน)) ฟังก์ชั่นต่อเนื่อง (arr_days) {// เรียงลำดับก่อนจากนั้นหมุนเวลาเวลาให้วัน = arr_days.sort () แผนที่ ((d, i) => {ให้ dt = วันที่ใหม่ (d) dt.setDate (dt.getDate () milliseconds, dt.setMinutes (0) dt.setSeconds (0) dt.setMilliseconds (0) return +dt}) ให้ ret = วันจริง foreach (d => {ถ้า (วัน [0]! == d) {ret = false}}}ฟังก์ชั่นนี้เปลี่ยนไปใน 2 สถานที่เวลาลบนาทีวินาทีวินาทีมิลลิวินาทีและการวนรอบและอื่น ๆ ก็เหมือนกัน
สรุป
เวลาในการประมวลผลของ JS ยังคงง่ายมาก ตัวอย่างเช่นการเขียนปลั๊กอินวันที่นั้นง่ายมากที่จะนำไปใช้ด้วยความช่วยเหลือของวันที่ แต่คุณต้องเข้าใจวันที่ API
แน่นอนว่ามันเป็นเรื่องง่ายหรือ PHP นั้นง่ายที่สุดนั่นเป็นเรื่องที่น่าอัศจรรย์
ตัวอย่างง่าย ๆ ข้างต้นของการตัดสินว่าชุดของวันที่ต่อเนื่องเป็นเนื้อหาทั้งหมดที่ฉันแบ่งปันกับคุณหรือไม่ ฉันหวังว่าคุณจะให้ข้อมูลอ้างอิงและฉันหวังว่าคุณจะสนับสนุน wulin.com มากขึ้น