当用户选择日期时,我从jquery datepicker获得了一个星期数。但是现在我希望在那一周内得到所有的日子。
我可以添加一个点击事件,该事件循环显示所选日期所在的所有td,并抓住它的值,但我正在寻找更可靠的方式。
所以我的问题是,给定一个日期和一个星期数(iso 8601格式化),你怎么能用javascript导出那一周内的其他日期?
答案 0 :(得分:7)
您可以通过使用星期几(getDay())减去所选日期日(getDate())来解决此问题。这样你就有了一周的第一天。然后你可以使用for循环直到7,以获得所有其他日子。你不需要周数。
var selected_date = $(this).datepicker('getDate'); //the date the user has clicked
var first_day_of_the_week = new Date(selected_date.getFullYear(),selected_date.getMonth(),selected_date.getDate() - selected_date.getDay() + 1);
var days = [];
for(var i = 0; i < 7; i++){
var day = new Date(first_day_of_the_week.getFullYear(),
first_day_of_the_week.getMonth(),
first_day_of_the_week.getDate() + i);
days.push(day);
}
console.log(days);
答案 1 :(得分:0)
这里有一个getWeek
函数的JavaScript实现:
您可以在日期任何一天的七天开始运行,并保留周数相同的日期。