gpt4 book ai didi

javascript - 在 Javascript 中根据周数获取日期周期的简单方法

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

全部:

谁能给我一个简单的方法来根据周数计算开始 UTC 时间和结束 UTC 时间?例如,现在是第 29 周,从 2016-07-18(星期一)到 2016-07-24(星期日)。在本例中,我需要知道开始/结束日期以及它们的 UTC 时间

谢谢

最佳答案

结合使用“javascript calculate date from week number ”和“JavaScript - get the first day of the week from current date ”的答案,同时使用 get/set 函数的 UTC 变体,您可以得到:

function getDateOfISOWeek(w, y) {
var simple = new Date(Date.UTC(y, 0, 1 + (w - 1) * 7));
var dow = simple.getUTCDay();
var ISOweekStart = simple;
if (dow <= 4)
ISOweekStart.setUTCDate(simple.getUTCDate() - simple.getUTCDay() + 1);
else
ISOweekStart.setUTCDate(simple.getUTCDate() + 8 - simple.getUTCDay());
return ISOweekStart;
}

function getEndOfISOWeek(d) {
var endOfISOWeek = new Date(d.getTime());
endOfISOWeek.setUTCDate(endOfISOWeek.getUTCDate() + 6); // six days
endOfISOWeek.setUTCHours(23);
endOfISOWeek.setUTCMinutes(59);
endOfISOWeek.setUTCSeconds(59);
return endOfISOWeek;
}

var startOfWeek = getDateOfISOWeek(29,2016);
var endOfWeek = getEndOfISOWeek(startOfWeek);

console.log(startOfWeek.toUTCString(), endOfWeek.toUTCString());
<小时/>

JSFiddle of above code

关于javascript - 在 Javascript 中根据周数获取日期周期的简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38509846/

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