复制
收藏
提问
全网

<input type="text" name="StartAssessYearMon1" readonly id="StartAssessYearMon1" autocomplete="off" class="layui-input"> laydate.render({ elem:'#StartAssessYearMon1', type:'date', format:'yyyy-MM-dd', range:'至', max:countdownSunday(), value:countdown(), }) function countdown() { var today = new Date(); var weekday = today.getDay(); var monday; var sunday; if (weekday == 0) { monday = new Date(1000 * 60 * 60 * 24 * (weekday - 6) + today.getTime()); } else { monday = new Date(1000 * 60 * 60 * 24 * (1 - weekday) + today.getTime()); } if (weekday == 0) { sunday = today; } else { sunday = new Date(1000 * 60 * 60 * 24 * (7 - weekday) + today.getTime()); } var month = monday.getMonth() + 1; if (month < 10) { month = "0" + month; } var day1 = monday.getDate(); if (day1 < 10) { day1 = "0" + day1; } var start = monday.getFullYear() + '-' + month + '-' + day1; var month2 = sunday.getMonth() + 1; if (month2 < 10) { month2 = "0" + month2; } var day2 = sunday.getDate(); if (day2 < 10) { day2 = "0" + day2; } var end = sunday.getFullYear() + '-' + month2 + '-' + day2; return start+'至'+end; }显示错误日期格式不合法必须遵循下述格式:yyyy-MM-dd 至yyyy-MM-dd 以为你重置

b312b0c88
4个月前
全网
文档
学术
百科
知识库
时间不限
自动

理解问题<input type="text" name="StartAssessYearMon1" readonly id="StartAssessYearMon1" autocomplete="off" class="layui-input"> laydate.render({ elem:'#StartAssessYearMon1', type:'date', format:'yyyy-MM-dd', range:'至', max:countdownSunday(), value:countdown(), }) function countdown() { var today = new Date(); var weekday = today.getDay(); var monday; var sunday; if (weekday == 0) { monday = new Date(1000 * 60 * 60 * 24 * (weekday - 6) + today.getTime()); } else { monday = new Date(1000 * 60 * 60 * 24 * (1 - weekday) + today.getTime()); } if (weekday == 0) { sunday = today; } else { sunday = new Date(1000 * 60 * 60 * 24 * (7 - weekday) + today.getTime()); } var month = monday.getMonth() + 1; if (month < 10) { month = "0" + month; } var day1 = monday.getDate(); if (day1 < 10) { day1 = "0" + day1; } var start = monday.getFullYear() + '-' + month + '-' + day1; var month2 = sunday.getMonth() + 1; if (month2 < 10) { month2 = "0" + month2; } var day2 = sunday.getDate(); if (day2 < 10) { day2 = "0" + day2; } var end = sunday.getFullYear() + '-' + month2 + '-' + day2; return start+'至'+end; }显示错误日期格式不合法必须遵循下述格式:yyyy-MM-dd 至yyyy-MM-dd 以为你重置

已完成理解<input type="text" name="StartAssessYearMon1" readonly id="StartAssessYearMon1" autocomplete="off" class="layui-input"> laydate.render({ elem:'#StartAssessYearMon1', type:'date', format:'yyyy-MM-dd', range:'至', max:countdownSunday(), value:countdown(), }) function countdown() { var today = new Date(); var weekday = today.getDay(); var monday; var sunday; if (weekday == 0) { monday = new Date(1000 * 60 * 60 * 24 * (weekday - 6) + today.getTime()); } else { monday = new Date(1000 * 60 * 60 * 24 * (1 - weekday) + today.getTime()); } if (weekday == 0) { sunday = today; } else { sunday = new Date(1000 * 60 * 60 * 24 * (7 - weekday) + today.getTime()); } var month = monday.getMonth() + 1; if (month < 10) { month = "0" + month; } var day1 = monday.getDate(); if (day1 < 10) { day1 = "0" + day1; } var start = monday.getFullYear() + '-' + month + '-' + day1; var month2 = sunday.getMonth() + 1; if (month2 < 10) { month2 = "0" + month2; } var day2 = sunday.getDate(); if (day2 < 10) { day2 = "0" + day2; } var end = sunday.getFullYear() + '-' + month2 + '-' + day2; return start+'至'+end; }显示错误日期格式不合法必须遵循下述格式:yyyy-MM-dd 至yyyy-MM-dd 以为你重置

展开阅读网页

您提供的 JavaScript 代码段中存在一些逻辑错误,导致日期格式不正确。以下是修改后的代码,它将正确地计算从当前日期的周一到周日的日期范围,并以 yyyy-MM-dd 至 yyyy-MM-dd 的格式返回:

function countdown() {
    var today = new Date();
    var weekday = today.getDay(); // 获取当前是周几,0 表示周日,1 表示周一,以此类推
    var start; // 周一的日期
    var end; // 周日的日期

    // 计算周一的日期
    if (weekday === 0) {
        // 如果今天是周日,周一就是今天
        start = today;
    } else {
        // 否则,周一是今天减去当前的周几数
        start = new Date(today - weekday * 24 * 60 * 60 * 1000);
    }

    // 计算周日的日期
    end = new Date(start.getTime() + 6 * 24 * 60 * 60 * 1000); // 周一加上6天

    // 格式化日期
    function formatDate(date) {
        var year = date.getFullYear();
        var month = date.getMonth() + 1;
        var day = date.getDate();
        return [year, month < 10 ? '0' + month : month, day < 10 ? '0' + day : day].join('-');
    }

    var startFormatted = formatDate(start);
    var endFormatted = formatDate(end);

    return startFormatted + ' 至 ' + endFormatted;
}

// 调用 laydate.render 时使用 countdown 函数
laydate.render({
    elem: '#StartAssessYearMon1',
    type: 'date',
    format: 'yyyy-MM-dd',
    range: '至',
    max: countdownSunday(), // 假设 countdownSunday 是一个返回日期的函数
    value: countdown() // 使用 countdown 函数获取当前周一到周日的日期范围
});

请注意,countdownSunday 函数在您的代码中没有定义,我假设它是一个返回日期的函数。如果它不是,您需要提供正确的实现或删除对它的引用。此外,laydate.render 函数的 max 参数应该是一个日期对象或一个返回日期对象的函数,而不是一个字符串。如果 countdownSunday 需要返回一个日期对象,您需要相应地修改它。

更专业一些
转笔记
专业
<input type="text" name="StartAssessYearMon1" readonly id="StartAssessYearMon1" autocomplete="off" class="layui-input"> laydate.render({ elem:'#StartAssessYearMon1', type:'date', format:'yyyy-MM-dd', range:'至', max:countdownSunday(), value:countdown(), }) function countdown() { var today = new Date(); var weekday = today.getDay(); var monday; var sunday; if (weekday == 0) { monday = new Date(1000 * 60 * 60 * 24 * (weekday - 6) + today.getTime()); } else { monday = new Date(1000 * 60 * 60 * 24 * (1 - weekday) + today.getTime()); } if (weekday == 0) { sunday = today; } else { sunday = new Date(1000 * 60 * 60 * 24 * (7 - weekday) + today.getTime()); } var month = monday.getMonth() + 1; if (month < 10) { month = "0" + month; } var day1 = monday.getDate(); if (day1 < 10) { day1 = "0" + day1; } var start = monday.getFullYear() + '-' + month + '-' + day1; var month2 = sunday.getMonth() + 1; if (month2 < 10) { month2 = "0" + month2; } var day2 = sunday.getDate(); if (day2 < 10) { day2 = "0" + day2; } var end = sunday.getFullYear() + '-' + month2 + '-' + day2; return start+'至'+end; }显示错误日期格式不合法必须遵循下述格式:yyyy-MM-dd 至yyyy-MM-dd 以为你重置
不在提醒

更专业内容正在努力生成中
知识树
<input type="text" name="StartAssessYearMon1" readonly id="StartAssessYearMon1" autocomplete="off" class="layui-input"> laydate.render({ elem:'#StartAssessYearMon1', type:'date', format:'yyyy-MM-dd', range:'至', max:countdownSunday(), value:countdown(), }) function countdown() { var today = new Date(); var weekday = today.getDay(); var monday; var sunday; if (weekday == 0) { monday = new Date(1000 * 60 * 60 * 24 * (weekday - 6) + today.getTime()); } else { monday = new Date(1000 * 60 * 60 * 24 * (1 - weekday) + today.getTime()); } if (weekday == 0) { sunday = today; } else { sunday = new Date(1000 * 60 * 60 * 24 * (7 - weekday) + today.getTime()); } var month = monday.getMonth() + 1; if (month < 10) { month = "0" + month; } var day1 = monday.getDate(); if (day1 < 10) { day1 = "0" + day1; } var start = monday.getFullYear() + '-' + month + '-' + day1; var month2 = sunday.getMonth() + 1; if (month2 < 10) { month2 = "0" + month2; } var day2 = sunday.getDate(); if (day2 < 10) { day2 = "0" + day2; } var end = sunday.getFullYear() + '-' + month2 + '-' + day2; return start+'至'+end; }显示错误日期格式不合法必须遵循下述格式:yyyy-MM-dd 至yyyy-MM-dd 以为你重置
如何使用laydate插件设置日期范围?
laydate插件日期格式设置方法
laydate插件如何设置最大日期限制?
在线客服