gpt4 book ai didi

javascript - 获取用户设置 'first day of week' 值的星期 DATE 对象的第一个日期

转载 作者:行者123 更新时间:2023-11-30 12:30:30 25 4
gpt4 key购买 nike

我有一个日历应用程序,用户可以从下拉列表中选择 2 个值:

星期日星期一

作为一周的第一天。

鉴于用户设置为一周的第一天:'星期一' (dayIndex 1)

当前日期是 2015 年 1 月 11 日星期日(dayIndex 0)

我从哪里知道 FirstDateOfWeek 是

--> 2015 年 1 月 12 日星期一

(那么“2015 年 1 月 18 日星期日”将是一周的最后一天)

而不是

--> 2015 年 1 月 5 日星期一

(那么 2015 年 1 月 11 日星期日 将是一周的最后一天)

最佳答案

如果一周的第一天是星期日,则从日期中减去天数得到该周的第一个星期日。如果星期一是第一天,则执行 Date - ((dayNumber || 7) - 1)。在函数中:

/**
* Given a Date, return a new Date object for the first
* day of the week.
* @param {Date} date - date object
* @param {boolean} mon - true if week starts on Monday, otherwise starts on Sunday
*/
function getFirstDayOfWeek(date, mon) {

// copy date object
date = new Date(+date);

if (mon) {
date.setDate(date.getDate() - (date.getDay() || 7) + 1);

} else {
date.setDate(date.getDate() - date.getDay());
}
return date;
}

// Sun 11 Jan 2015
var date = new Date(2015, 0, 11)

console.log(getFirstDayOfWeek(date)); // Sun 11 Jan 2015
console.log(getFirstDayOfWeek(date, true)); // Mon 05 Jan 2015

因此您只需要存储用户选择的一周中的哪一天开始,然后传递 true(如果是星期一)或 false(如果是星期日)。

关于javascript - 获取用户设置 'first day of week' 值的星期 DATE 对象的第一个日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27887022/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com