本文摘要
介绍在泛微 Ecology 9 公式中实现的一个 JavaScript 函数,用于计算当前日期是今年的第几周,无需传入参数即可直接调用。其思路是以当年 1 月 1 日为起点,对齐到该日期所在的第一个完整周后按天数推算周数,其中 1 月 1 日所在周被视为第一周,适合在 OA 表单等需要周序号的场景中开箱即用。
/*
获取当前日期是今年的第几周(无参数)
*/
function getYearWeek() {
var date = new Date();
var startDate = new Date(date.getFullYear(), 0, 1);
var dayOfWeek = startDate.getDay() || 7;
startDate.setDate(startDate.getDate() + (8 - dayOfWeek));
var daysSinceStart = Math.ceil((date - startDate) / 86400000);
var weekNumber = Math.ceil(daysSinceStart / 7) + 1;
return weekNumber;
}

开袋即食

该方案,1月1日所在周,会被视为第一周。

image.png