目录
1.按一个月平均算
2.除去星期六星期天算
3.自定义节假日算
1.按一个月平均算
// 获取当前时间
const now = new Date();
// 获取当前年份和月份
const currentYear = now.getFullYear();
const currentMonth = now.getMonth() + 1;
// 计算当月天数
const daysInMonth = new Date(currentYear, currentMonth, 0).getDate();
// 当前是当月的几号
const dayOfMonth = now.getDate();
// 取整
const num = (dayOfMonth / daysInMonth).toFixed(2)
console.log("当前时间进度" + (num * 100) + "%");
2.除去星期六星期天算
// 获取当前时间
const now = new Date();
// 获取当前年份和月份
const currentYear = now.getFullYear();
const currentMonth = now.getMonth() + 1;
// 计算当月天数
const daysInMonth = new Date(currentYear, currentMonth, 0).getDate();
// 当月几号
const dayOfMonth = now.getDate();
// console.log("当月天数:", daysInMonth);
// console.log("当月的第", dayOfMonth, "天");
// 工作日天数
let workday = 0
// 当前工作日天数
let Month = 0
// 当前时间进度
let num = "0%"
// 循环默认天数
for (let i = 1; i < daysInMonth + 1; i++) {
// 遍历每天获取星期几
let date = new Date(new Date().getFullYear(), new Date().getMonth(), i);
let x = date.getDay()
// 不是节假日工作日就加一
if (![0, 6].includes(x)) {
workday++
}
}
// console.log("默认工作日", workday);
// 默认已工作日
for (let i = 1; i < dayOfMonth + 1; i++) {
// 遍历每天获取星期几
let date = new Date(new Date().getFullYear(), new Date().getMonth(), i);
let x = date.getDay()
// 不是节假日工作日就加一
if (![0, 6].includes(x)) {
Month++
}
}
// console.log("已工作", Month, "天");
num = (Month / workday).toFixed(3)
console.log("时间进度" + (num * 100) + "%");
3.自定义节假日算
// 获取当前时间
const now = new Date();
// 获取当前年份和月份
const currentYear = now.getFullYear();
const currentMonth = now.getMonth() + 1;
// 计算当月天数
const daysInMonth = new Date(currentYear, currentMonth, 0).getDate();
// 当月几号
const dayOfMonth = now.getDate();
// console.log("当月天数:", daysInMonth);
// console.log("当月的第", dayOfMonth, "天");
// 工作日天数
let workday = 0
// 当前工作日天数
let Month = 0
// 当前时间进度
let num = "0%"
// 自定义节假日
let text = "1,2,8,9,15,16,22,23"
arr = res.data.split(",")
workday = daysInMonth - arr.length
// console.log("自定义工作日", workday);
// 默认已工作日
for (let i = 1; i < dayOfMonth + 1; i++) {
if (!arr.includes(i.toString())) {
Month++
}
}
// console.log("已工作", Month, "天");
num = (Month / workday).toFixed(2)
// console.log("时间进度" + (num * 100) + "%");