เมื่อ JS ได้รับวันที่คุณจะพบข้อกำหนดต่อไปนี้และได้รับวันที่หนึ่งสัปดาห์ตามปีที่แน่นอน หากระบุวันที่เริ่มต้นเป็นวันพฤหัสบดีถึงวันศุกร์ของสัปดาห์หน้าจะเป็นหนึ่งสัปดาห์
รหัสมีดังนี้:
ฟังก์ชั่น getNowFormatDate (theDate) {var day = theDate; var year = 0; var month = 0; var day = 0; var currentDate = ""; // เวลาเริ่มต้นปี = day.getlyear (); // IE สามารถใช้ภายใต้ Firefox Month = Day.getMonth ()+1; วัน = day.getDate (); CurrentDate + = ปี + "-"; if (เดือน> = 10) {currentDate + = เดือน + "-"; } else {currentDate + = "0" + เดือน + "-"; } if (day> = 10) {currentDate += วัน; } else {currentDate + = "0" + วัน; } return currentDate; } ฟังก์ชั่น isinoneyear (_year, _week) {ถ้า (_year == null || _year == '' || _week == null || _week == '') {กลับจริง; } var พวกเขา = getXdate (_year, _week, 4) .getLulyear (); ถ้า (พวกเขา! = _year) {return false; } return true; } // รับฟังก์ชั่นการแสดงช่วงวันที่ getDaterange (_year, _week) {var Begindate; var enddate; if (_year == null || _year == '' || _week == null || _week == '') {return ""; } BegIndate = getXdate (_year, _week, 4); enddate = getXdate (_year, (_ สัปดาห์ - 0 + 1), 5); ส่งคืน getNowFormatDate (Begindate) + "ถึง" + getNowFormatDate (enddate); } // วิธีนี้จะ getxdate (ปีสัปดาห์, วันธรรมดา) {// สร้างวัตถุวันที่ด้วยปีที่กำหนดและกำหนดวันที่เป็นวันที่ 1 มกราคมของปี // เนื่องจากเดือนในคอมพิวเตอร์เริ่มต้นจาก 0 มีวิธีการก่อสร้างต่อไปนี้ // รับเวลาศัลยกรรมพลาสติกยาวของวันที่วัตถุวันที่วันที่เวลา var เวลา = date.getTime (); // เพิ่มเวลาการทำศัลยกรรมพลาสติกที่ยาวนานนี้ในเวลา N-Week // เนื่องจากสัปดาห์แรกคือสัปดาห์ปัจจุบันมี: สัปดาห์ที่ 1 และต่อไป/ 7*24*3600000 เป็นจำนวนเวลามิลลิวินาทีในหนึ่งสัปดาห์ (วันที่ใน JS มีความแม่นยำถึงมิลลิวินาที) เวลา+= (สัปดาห์ที่ 1)*7*24 // รีเซ็ตวันที่วัตถุวันที่วันที่เวลาวันที่กำหนด (เวลา); ส่งคืน getNextDate (วันที่วันธรรมดา); } // วิธีนี้จะได้รับวันที่ของสัปดาห์ (วันธรรมดา) ของวันที่หนึ่ง (ปัจจุบัน) ฟังก์ชั่น getNextDate (ตอนนี้วันธรรมดา) {// 0 คือวันอาทิตย์ 1 คือวันจันทร์ ... วันธรรมดา%= 7; var day = nowdate.getday (); var time = nowdate.getTime (); var sub = วันธรรมดา; if (sub <= 0) {sub += 7; } เวลา+= sub*24*3600000; nowdate.settime (เวลา); กลับมาตอนนี้ -หากคุณได้รับวันแรกของสัปดาห์แรกของปี 2559 มันจะเริ่มนับในวันพฤหัสบดี จากนั้นช่วงวันที่สำหรับสัปดาห์แรกคือ 2016-01-07 ถึง 2016-01-15
ในรหัสอ้างอิงสำหรับการโทร:
// ฟังก์ชั่นการประมวลผลวันที่ daterange () {var _year = $ ("#_ ปี"). val (); var _week = $ ("#_ สัปดาห์"). val (); if (isinoneyear (_year, _week)) {var showdate = getDaterange (_year, _week); $ ("#_ daterange_import"). html (showdate); } else {alert (_year+"ปีไม่มี"+_ สัปดาห์+"สัปดาห์+" สัปดาห์โปรด reselect "); $ (" #_ สัปดาห์ "). val (" ");}}