JS实现指定开学日期后,获取开学后第n周各星期的日期的方法

本文介绍了一种使用JavaScript实现的预约录课系统中周次日期计算的方法。通过下拉框选择周次,系统能自动计算并显示该周次的七个日期,适用于课程安排与管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在给本校老师做一个简单的预约录课系统,需要根据所选择的当前学期的周次,得到该周次的七个日期,js的实现方法如下:

首先在html中有下拉框选择周次的代码:

<select class="form-control" name="code" id="code">
                <option value="">==按周次查看==</option>
                <option value="1">第1周</option>
                <option value="2">第2周</option>
                <option value="3">第3周</option>
                <option value="4">第4周</option>
                <option value="5">第5周</option>
                <option value="6">第6周</option>
                <option value="7">第7周</option>
                <option value="8">第8周</option>
                <option value="9">第9周</option>
                <option value="10">第10周</option>
                <option value="11">第11周</option>
                <option value="12">第12周</option>
                <option value="13">第13周</option>
                <option value="14">第14周</option>
                <option value="15">第15周</option>
                <option value="16">第16周</option>
                <option value="17">第17周</option>
                <option value="18">第18周</option>
            </select>
<button id="searchBtn" class="btn btn-labeled btn-info" onclick="javascript:showCourse();"><span class="btn-label icon fa fa-search"></span>搜索</button>

然后通过点击事件触发showCourse()函数获取日期:

function showCourse() {
    var week_choose=document.getElementById("code").value;//获取下拉框选中的周次
     if(week_choose==""){
       alert("请选择周次!");
       return;
    }
    //开始查询日期
    var date = new Date(2019,1,24);//设置初始开学日期,注意:这里第二个参数1表示2月,即开学日期为2019年2月24日
    for(var ii=1;ii<8;ii++){//默认星期一为每周的起点
     	if(ii==1){//如果是每周的星期一,需要添加周期,其他的每天加一就行了,因为data的值会跟着setDate()而发生变化。
            date.setDate(date.getDate()+(week_choose-1)*7+1);//js中字符串和整型是可以做整数减法的,但加法就是字符串相加
        }
        else{
            date.setDate(date.getDate()+1);
        }
        console.log("开学第"+week_choose+"周的星期"+ii+"的日期为:");
        //date.getMonth()是从0开始的,所以实际月份需要+1
        console.log(date.getFullYear() +"年"+ (date.getMonth()+1) +"月"+ date.getDate()+"日");
    }
 }

因为这些信息后面要导出到Excel中,所以之后会给出服务器端用java实现的代码。

如果你有更简单的方法或者更好的思路,请留言指教。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值