gpt4 book ai didi

javascript - MooTools:获取给定一周的第一天和最后一天

转载 作者:行者123 更新时间:2023-11-28 00:24:02 26 4
gpt4 key购买 nike

我在 JavaScript 方面相对缺乏经验(这里我们使用的是 MooTools),并且遇到了一个问题:

有没有一种快速的方法来获取给定一周的第一个和最后一个日期?例如2015 年第 17 周从 4 月 20 日星期一开始,到 4 月 26 日星期日结束。

我的目标是查明给定的一周是否在同一个月开始和结束(第 18 周不会,因为它从 4 月 27 日开始并于 5 月 3 日结束)。

非常感谢您提供示例帮助或为我指出正确的文档。我已经找了一段时间了,还没有找到这样的东西,而且我发现 MooTools 文档非常差......

最佳答案

博阿诺特菲利普,

为此,您不需要 MooTools。你可以使用 Vanilla JS 来完成。

这是一个想法:

function dayAnalizer(str) {
var date = new Date(str).getTime();
var weekAfter = date + 7 * 24 * 60 * 60 * 1000;
return new Date(date).getMonth() == new Date(weekAfter).getMonth();
}

console.log(dayAnalizer('10-05-2015')); // true
console.log(dayAnalizer('13-05-2015')); // false
console.log(dayAnalizer('16-05-2015')); // false

jsFiddle:http://jsfiddle.net/1g4bvgjg/

基本上,它获取字符串格式的日期并将其转换为时间戳(毫秒),然后创建 1 周前的另一个日期。最后比较一下两者是否有相同的月份。

如果您需要知道一年中的某一周是否在同一个月开始和结束,您可以使用如下内容:

function weekAnalyser(week, year) {
var days = (1 + (week - 1) * 7); // 1st of January + 7 days for each week
var date = new Date(year, 0, days);
var dayOfWeek = date.getDay(); // get week day
var firstDayOfWeek = date.getTime() - (dayOfWeek) * 60 * 60 * 24 * 1000); // rewind to 1st day of week
var endOfWeek = firstDayOfWeek + 6 * 24 * 60 * 60 * 1000;
return new Date(firstDayOfWeek).getMonth() == new Date(endOfWeek).getMonth();
}

jsFiddle:http://jsfiddle.net/zfassz29/

<小时/>

诗。欢迎来到葡萄牙语 Stackoverflow:https://pt.stackoverflow.com/

关于javascript - MooTools:获取给定一周的第一天和最后一天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29734945/

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