我正在使用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);
答案 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
}