JavaScript设置日期到星期五之前

时间:2014-01-17 14:58:23

标签: javascript asp.net asp.net-ajax

我正在使用ASP.Net AJAX Calendar Extender在文本框中设置日期。虽然从JavaScript中选择用户的日期很简单,但我很难将日期设置为星期五。

详细地说,我要做的是,例如,如果用户选择的日期结果是星期二,我想在文本框中显示的内容,不是那个星期的星期五,而是星期五之前,即3天前的那个。

我所取得的成就是下周五,即即将到来的星期五,但是我已经用各种方式玩代码来尝试实现我想要的东西 - 有人可以帮助吗?

由于

dayToMtceSet = 5;
distance = (dayToMtceSet - currentDay) % 7;
toDate = toDate.setDate(toDate.getDate() + distance);
document.getElementById('<%= txtFromDate.ClientID%>').value = formatDate(toDate);
toDateSet = new Date(toDate);
toDateSet = toDateSet.setDate(toDateSet.getDate() + 6);
document.getElementById('<%= txtToDate.ClientID%>').value = formatDate(toDateSet);

1 个答案:

答案 0 :(得分:0)

使用纯javascript jsFiddle

if (date.getDay() === 5) {
    console.log(date);
} else {
    var beforeOneWeek = new Date(date.getTime() - 60 * 60 * 24 * 7 * 1000),
        day = beforeOneWeek.getDay(),
        diffToFriday = day > 5 ? 6 : 5 - day;       
        date.setDate((date.getDate() - 7) + diffToFriday);

    console.log(date);
}

您也可以使用date.js

请参阅jsFiddle

var date = Date.today();

if (date.getDay() === 5) { 
    date = Date.today(); 
} else {
    date = date.moveToDayOfWeek(5, -1)  // 5 is Friday, -1 is back one week
}