📅  最后修改于: 2023-12-03 15:10:28.286000             🧑  作者: Mango
在开发中,我们经常需要获取某个日期是一周中的哪一天,进而判断该日期是否为工作日。在Javascript中,可以通过以下方法获取日期对应的工作日名称。
function getWeekdayName(date) {
const weekdays = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
const dayIndex = new Date(date).getDay();
const weekdayName = weekdays[dayIndex];
return weekdayName;
}
该函数接受一个日期参数,返回该日期对应的工作日名称(如Monday、Tuesday等)。这里我们使用Javascript内置的Date
对象获取日期对象,并通过getDay()
方法获取该日期对应的星期几的索引(0表示Sunday,1表示Monday,以此类推)。接着根据索引从数组weekdays
中取出工作日名称,并返回即可。
我们可以编写以下测试用例来验证代码的正确性:
const testCases = [
{ input: new Date("2022-01-01"), expectedOutput: "Saturday" },
{ input: new Date("2022-01-02"), expectedOutput: "Sunday" },
{ input: new Date("2022-01-03"), expectedOutput: "Monday" },
{ input: new Date("2022-01-04"), expectedOutput: "Tuesday" },
{ input: new Date("2022-01-05"), expectedOutput: "Wednesday" },
{ input: new Date("2022-01-06"), expectedOutput: "Thursday" },
{ input: new Date("2022-01-07"), expectedOutput: "Friday" },
];
for (const { input, expectedOutput } of testCases) {
const output = getWeekdayName(input);
console.assert(output === expectedOutput, { input, output, expectedOutput });
}
在上述测试用例中,我们编写了7个测试用例,分别测试了周末和工作日的情况,以及确保代码可以正确处理所有情况。我们使用断言函数console.assert()
来验证代码的输出是否符合预期,如果出现错误,会输出具体的输入、输出和期望输出信息,方便我们定位问题。
通过以上代码和测试,我们可以在Javascript中轻松获取日期对应的工作日名称。当我们需要在应用中判断某个日期是否为工作日时,可以使用该函数来实现。