Maison >interface Web >js tutoriel >Un petit exemple de js pour obtenir le numéro et le jour de la semaine d'une compétence date_javascript spécifiée
Lorsque JS obtient la date, il rencontre les exigences suivantes : obtenir la date de la semaine en fonction de la semaine de l'année. Si la date de début est spécifiée du jeudi au vendredi de la semaine suivante, il s'agit d'une semaine.
Le code est le suivant :
function getNowFormatDate(theDate) { var day = theDate; var Year = 0; var Month = 0; var Day = 0; var CurrentDate = ""; // 初始化时间 Year= day.getFullYear();// ie火狐下都可以 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 ; } return CurrentDate; } function isInOneYear(_year,_week){ if(_year == null || _year == '' || _week == null || _week == ''){ return true; } var theYear = getXDate(_year,_week,4).getFullYear(); if(theYear != _year){ return false; } return true; } // 获取日期范围显示 function 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) + " 至 "+ getNowFormatDate(endDate); } // 这个方法将取得某年(year)第几周(weeks)的星期几(weekDay)的日期 function getXDate(year,weeks,weekDay){ // 用指定的年构造一个日期对象,并将日期设置成这个年的1月1日 // 因为计算机中的月份是从0开始的,所以有如下的构造方法 var date = new Date(year,"0","1"); // 取得这个日期对象 date 的长整形时间 time var time = date.getTime(); // 将这个长整形时间加上第N周的时间偏移 // 因为第一周就是当前周,所以有:weeks-1,以此类推 // 7*24*3600000 是一星期的时间毫秒数,(JS中的日期精确到毫秒) time+=(weeks-1)*7*24*3600000; // 为日期对象 date 重新设置成时间 time date.setTime(time); return getNextDate(date,weekDay); } // 这个方法将取得 某日期(nowDate) 所在周的星期几(weekDay)的日期 function getNextDate(nowDate,weekDay){ // 0是星期日,1是星期一,... weekDay%=7; var day = nowDate.getDay(); var time = nowDate.getTime(); var sub = weekDay-day; if(sub <= 0){ sub += 7; } time+=sub*24*3600000; nowDate.setTime(time); return nowDate; }
Si vous souhaitez obtenir la date de la première semaine de 2016, cela commence à partir de jeudi. Ensuite, la plage de dates de la première semaine va du 07/01/2016 au 15/01/2016
Fournir un code de référence pour appeler :
//日期处理 function 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+"年无"+_week+"周,请重新选择"); $("#_week").val(""); } }