编辑代码

function calculateWeekTimestamps(inputDate, weekStart) {
    var date = new Date(inputDate);
    var dateTime = date.getTime(),
        day = date.getDay(),
        oneDayTime = 24 * 60 * 60 * 1000,
        MondayTime,
        SundayTime;

    if (weekStart === 0) {
        MondayTime = dateTime - (day) * oneDayTime;
        SundayTime = dateTime + (6 - day) * oneDayTime;
    } else {
        MondayTime = dateTime - (day === 0 ? 6 : day - 1) * oneDayTime;
        SundayTime = dateTime + (day === 0 ? 0 : 7 - day) * oneDayTime;
    }

    console.log("一周开始:", formatTime(MondayTime));
    console.log("一周结束:", formatTime(SundayTime));
}

function formatTime(timestamp) {
    var date = new Date(timestamp);
    var year = date.getFullYear();
    var month = String(date.getMonth() + 1).padStart(2, '0'); // 月份从0开始,需要加1;padStart用于补齐两位
    var day = String(date.getDate()).padStart(2, '0');

    var formattedDate = year + '-' + month + '-' + day;
    return formattedDate;
}

// 使用例子
var inputDate = "2024-01-28"; // 任意日期字符串
var weekStart = 1;// 一周从星期一开始
calculateWeekTimestamps(inputDate, weekStart);