计算当月工作日时间进度

news2024/12/24 2:47:27

目录

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) + "%");

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1189639.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《016.SpringBoot+vue校园社团管理系统》【有文档】

《016.SpringBootvue校园社团管理系统》【有文档】 项目简介 [1]本系统涉及到的技术主要如下&#xff1a; 推荐环境配置&#xff1a;DEA jdk1.8 Maven MySQL 前后端分离; 后台&#xff1a;SpringBootMyBatisPlus; 前台&#xff1a;vueElementUI; [2]功能模块展示&#xff1a…

分享一本让你真正理解深度学习的书

关注微信公众号&#xff1a;人工智能大讲堂&#xff0c;后台回复udl获取pdf文档。 今天要分享的书是Understanding Deep Learning&#xff0c;作者是西蒙普林斯&#xff0c;英国巴斯大学的荣誉教授&#xff0c;其个人学术能力相当强大&#xff0c;在AI领域有着深厚的学术造诣。…

【C++】类型转换【4中类型转换】

目录 1. C语言中的类型转换 2. C的四种类型转换 2.1 static_cast 3.2 reinterpret_cast 3.3 const_cast 3.4 dynamic_cast 3. explict 4. RTTI&#xff08;了解&#xff09; 1. C语言中的类型转换 在 C 语言中&#xff0c;如果 赋值运算符左右两侧类型不同&#xff0…

利用人工智能和大数据分析增强互联网医院APP

随着移动互联网的快速发展和人工智能技术的日益成熟&#xff0c;互联网医院APP正逐渐成为人们获取医疗服务的重要渠道。借助人工智能和大数据分析&#xff0c;互联网医院APP能够提供更加精准、便捷的医疗服务&#xff0c;为用户带来全新的医疗体验。 首先&#xff0c;人工智能…

腾讯云双11优惠活动有哪些?详细攻略来了!

2023年腾讯云双11大促活动正在火热进行中&#xff0c;百款热门云产品11.11云上盛惠&#xff0c;领折上折代金券最高再省9999元&#xff0c;助力开发者轻松上云&#xff01; 一、腾讯云双11活动入口 活动地址&#xff1a;点此直达 二、腾讯云双11活动时间 即日起至2023-11-30…

【中间件篇-Redis缓存数据库02】Redis高级特性和应用(慢查询、Pipeline、事务、Lua)

Redis高级特性和应用(慢查询、Pipeline、事务、Lua) Redis的慢查询 许多存储系统&#xff08;例如 MySQL)提供慢查询日志帮助开发和运维人员定位系统存在的慢操作。所谓慢查询日志就是系统在命令执行前后计算每条命令的执行时间&#xff0c;当超过预设阀值,就将这条命令的相关…

Git 入门使用

一、Git 入门 1.1 Git简介 Git是一个开源的分布式版本控制系统&#xff0c;用于敏捷高效地处理任何或小或大的项目。Git是由Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。 Git是目前世界上最先进的分布式版本控制系统&#xff0c;没有之一&a…

【自动化测试】Pytest框架 —— 跳过测试和失败重试

1、Pytest跳过测试用例 自动化测试执行过程中&#xff0c;我们常常出现这种情况&#xff1a;因为功能阻塞&#xff0c;未实现或者环境有问题等等原因&#xff0c;一些用例执行不了&#xff0c; 如果我们注释掉或删除掉这些测试用例&#xff0c;后面可能还要进行恢复操作&#…

NSSCTF第11页(3)

[羊城杯 2020]easyphp 源码 发现会在写入文件之前会删除目录下的除了index.php的文件。写入文件的文件名和文件内容也是可控的&#xff0c;只不过存在过滤 stristr函数对文件内容进行过滤&#xff0c;该函数绕过还是简单的&#xff0c;只需要添加一些特殊字符就可以了&#…

2013年108计网

第33题 在 OSI 参考模型中, 下列功能需由应用层的相邻层实现的是()A. 对话管理B. 数据格式转换C. 路由选择D. 可靠数据传输 很显然&#xff0c;题目所问的应用层的相邻层是表示层。该层实现与数据表示相关的功能。选项a中的对话管理属于会话层。选项c中的路由选择属于网络层。…

U-Mail信创邮件系统解决方案

近年来&#xff0c;在国家政策的大力引导和自身数字化转型需求驱动下&#xff0c;国产化成为国内数字化发展道路上的关键词&#xff0c;企业不断加强自主创新能力&#xff0c;进行信创建设&#xff0c;实现软硬件系统国产化替代&#xff0c;已成为大势所趋。邮件系统作为企业管…

Python编程:从入门到实践 (项目3—Web应用程序—学习问题汇总)(新手避坑必看)

本人系统环境&#xff1a; WIN10系统 Python 3.9 Django 2.1.5 书本环境&#xff1a; Python 3.x Django 1.8.5 基于Django 开发一个名为“学习笔记”的项目&#xff0c;这是一个在线的日志系统&#xff0c;能够记录所学习的有关特定主题的知识。 建立项目 要编写一个名为“…

vscode文件跳转(vue项目)

在 .vue 文件中&#xff0c;点击组件名打开 方式1&#xff1a; 在 vue 组件名上&#xff0c;桉住ctrl 鼠标左键 // 重新打开一个tab 方式2&#xff1a; 在 vue 组件名上&#xff0c;桉住ctrl shift 鼠标左键 // 在右侧拆分&#xff0c;并打开一个tab .vue文件的跳转 按住 …

el-date-picker精确到分钟

0 效果 1 代码 使用format、value-format属性格式化即可 :clearable“false” // 取消删除图标 注意&#xff1a; format&#xff1a;“yyyy-MM-dd HH:mm” 小时默认是从00:00开始 format&#xff1a;“yyyy-MM-dd hh:mm” 小时默认是从12:00开始

ElasticSearch的文档、字段、映射和高级查询

1. 文档&#xff08;Document&#xff09; 在ES中一个文档是一个可被索引的基础信息单元&#xff0c;也就是一条数据 比如&#xff1a;你可以拥有某一个客户的文档&#xff0c;某一个产品的一个文档&#xff0c;当然&#xff0c;也可以拥有某个订单的一个文档。文档以JSON&…

java通过FTP跨服务器动态监听读取指定目录下文件数据

背景&#xff1a; 1、文件数据在A服务器&#xff08;windows&#xff09;&#xff08;不定期在指定目录下生成&#xff09;&#xff0c;项目应用部署在B服务器&#xff08;Linux&#xff09;&#xff1b; 2、项目应用在B服务器&#xff0c;监听A服务器指定目录&#xff0c;有新…

UI设计软件有哪些好用和免费的吗?

在我们分享五个有用的原型工具之前&#xff0c;完成原型&#xff0c;将优化界面&#xff0c;这次是UI设计师的任务&#xff0c;UI设计软件对设计师非常重要&#xff0c;UI设计工具是否使用直接影响最终结果&#xff0c;然后有人会问&#xff1a;UI界面设计使用什么软件&#xf…

2021年12月 Python(四级)真题解析#中国电子学会#全国青少年软件编程等级考试

Python等级考试&#xff08;1~6级&#xff09;全部真题・点这里 一、单选题&#xff08;共25题&#xff0c;每题2分&#xff0c;共50分&#xff09; 第1题 Python 中函数不包括&#xff1f; A&#xff1a;标准函数 B&#xff1a;第三库函数 C&#xff1a;内建函数 D&#xf…

如何判断被DDoS攻击

当网络和设备正常的情况下&#xff0c;服务器突然出现连接断开、访问卡顿、用户掉线等情况;服务器CPU或内存占用率出现明显增长;网络出入流量出现明显增长;网站或应用程序突然出现大量的未知访问;登录服务器失败或者登录过慢等等。以上是最为常见的服务器被 DDoS攻击后出现的几…