JSが日付を取得すると、次の要件に遭遇し、特定の年に応じて1週間の日付を取得します。開始日が来週の木曜日から金曜日のように指定されている場合、1週間です。
コードは次のとおりです。
関数getNowFormatdate(thedate){var day = thedate; var year = 0; var month = 0; var day = 0; var currentDate = ""; //初期化時間年= day.getThyly(); // IEはFirefox Month = day.getMonth()+1;で使用できます。 day = day.getDate(); currentDate + = year + " - "; if(month> = 10){currentDate + = month + " - "; } else {currentDate + = "0" + month + " - "; } if(day> = 10){currentDate += day; } else {currentDate + = "0" + day; } currentDateを返します。 }関数isinoneyear(_year、_week){if(_year == null || _year == '' || _week == null || _week == ''){return true; } var theyear = getXdate(_year、_week、4).getlyear(); if(heiear!= _year){false; } trueを返します。 } //日付範囲の表示関数を取得しますgetDaterange(_year、_week){var begindate; var enddate; if(_year == null || _year == '' || _week == null || _week == ''){return ""; } begindate = getXdate(_year、_week、4); enddate = getXdate(_year、(_ week -0 + 1)、5); return getNowFormatdate(begindate) + "to" + getNowFormatDate(endDate); } //この方法はgetXdate(年、週、平日){//指定された年で日付オブジェクトを構築し、コンピューターの月が0から始まるため、1月1日に日付を設定します。 //日付オブジェクトの長い整形手術時間を取得します日付時間var time = date.gettime(); //この長い整形手術時間をn週間に追加する//最初の週は今週であるため、1週目などがあるので、/ 7*24*3600000は1週間のミリ秒数です(JSの日付はミリ秒に正確です)+=(1週目 - 1)*7*24*3600000; //日付オブジェクトを時刻日時にリセットします。Settime(時間); return getNextDate(日付、平日); } //このメソッドは、特定の日付(nowdate)getnextdate(nowdate、平日)の週(平日)の日付(平日)を取得します{// 0は日曜日、1は月曜日、平日%= 7; var day = nowdate.getDay(); var time = nowdate.getTime(); var sub =平日日; if(sub <= 0){sub += 7; } time+= sub*24*3600000; nowdate.settime(time); NowDateを返します。 }2016年の最初の週の日付を取得すると、木曜日にカウントが開始されます。その後、最初の週の日付範囲は2016-01-07から2016-01-15です
通話を提供するための参照コードで:
//日付処理関数daterange(){var _year = $( "#_ year")。val(); var _week = $( "#_ week")。val(); if(isinoneyear(_year、_week)){var showdate = getDaterange(_year、_week); $( "#_ daterange_import")。html(showdate); } else {alert(_year+"year none"+_ week+"week+" week、reselect "); $(" #_ week ")。val(" ");}}}