我有一个 datepicker
插件,我可以在其中获取星期几(到目前为止,一切都很好并且正常工作)。如果我再次单击周字段,datepicker
将打开,但所选日期是今天(当天)。我想要的是当我点击datepicker
时,它会选择一周的第一天(星期一)。
例如,如果我选择了 2017 年 28 日
周,我希望当我单击 datepicker< 时,
2017 年 7 月 10 日
显示为选中状态
最佳答案
你可以尝试一个简单的逻辑。
- 接受周数并将其乘以 7。您将得到第 n 天。
- 创建一个变量 (
baseDay
),用于保存要选择的日期。 - 创建这一天的日期对象。
- 现在获取该日期的天数并从中减去
baseDay
。您将得到减去天数以获得必要的日期。 - 减去这些天数,就得到了日期。
function getStartOfWeek(weekNo) {
var baseDay = 1; // For Monday
var today = new Date();
var date = new Date(today.getFullYear(), 0, weekNo * 7);
var day = date.getDay();
console.log(date, date.getDay())
if (day > baseDay)
date.setDate(date.getDate() - (day - baseDay))
console.log(date, date.getDay())
}
getStartOfWeek(28)
注意:这不是完整的解决方案。上面的逻辑是为了获取必要的日期。确定日期后,您必须将其设置为日期选择器。这部分将特定于所使用的插件,并且可以轻松合并。
关于javascript - 获取先前选择的一周的第一天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45297310/