自动剔除非工作时间的计算工作函数
需积分: 47 89 浏览量
更新于2024-08-12
2
收藏 7KB TXT 举报
"该资源提供了一个名为`zky_work_minute_sum`的自定义函数,用于计算两个时间点之间的工作时间,自动排除非工作时间和特定的午休及节假日。该函数适用于MySQL环境,需要设置`setgloballog_bin_trust_function_creators=TRUE;`以允许创建。函数接受三个参数:开始时间、结束时间和月份,返回值为整型,表示工作分钟数。"
在编程领域,计算工作时间是一个常见的需求,尤其是在员工考勤或项目管理中。`zky_work_minute_sum`函数设计巧妙,考虑到了工作日的上下班时间以及可能的加班情况。它首先通过`DECLARE`语句声明了一系列变量来存储输入时间的日期、时间、星期几等信息,然后根据月份来确定不同日期的上下班时间,如上午上班时间(`am_st_time`)、上午下班时间(`am_ed_time`)、下午上班时间(`pm_st_time`)和下午下班时间(`pm_ed_time`)。
函数的核心部分在于如何判断并计算工作时间。它会分别计算上午和下午的工作时长,考虑到中午休息时间和非工作日的情况。例如,如果开始时间在上午下班之后,或者结束时间在下午上班之前,那么这两个时间段都不会计入工作时间。同时,根据输入的月份,函数可能需要调整以适应不同的工作日作息。对于节假日,函数可能也需要做出相应处理,比如不计入工作时间。
函数最后将上午和下午的工作分钟数累加得到一天的工作总时长,并将结果存储在`work_minute`变量中。如果存在加班情况,例如晚上的加班或周末加班,计划的更新将能够处理这些特殊情况,确保准确计算工作时间。
这个函数对于需要精确计算工作时间的系统来说非常实用,可以避免手动排除非工作时间的繁琐步骤,提高了效率。用户只需要按照提供的格式调用`zky_work_minute_sum(开始时间, 结束时间, 月份)`,即可获得准确的工作分钟数。注意,使用此函数前需要确保数据库环境支持自定义函数,并正确设置权限。
`zky_work_minute_sum`函数是解决工作时间计算问题的一个高效解决方案,尤其适用于需要自动排除非工作时间的情况。其设计灵活,可以适应不同作息时间和特殊工作日的调整,是管理考勤记录或项目工时的理想工具。
2018-08-02 上传
2024-09-10 上传
2023-09-02 上传
2023-02-19 上传
2023-06-08 上传
2023-06-06 上传
2023-06-12 上传
Colin.Zhan
- 粉丝: 1
- 资源: 2
最新资源
- MATLAB实现小波阈值去噪:Visushrink硬软算法对比
- 易语言实现画板图像缩放功能教程
- 大模型推荐系统: 优化算法与模型压缩技术
- Stancy: 静态文件驱动的简单RESTful API与前端框架集成
- 掌握Java全文搜索:深入Apache Lucene开源系统
- 19计应19田超的Python7-1试题整理
- 易语言实现多线程网络时间同步源码解析
- 人工智能大模型学习与实践指南
- 掌握Markdown:从基础到高级技巧解析
- JS-PizzaStore: JS应用程序模拟披萨递送服务
- CAMV开源XML编辑器:编辑、验证、设计及架构工具集
- 医学免疫学情景化自动生成考题系统
- 易语言实现多语言界面编程教程
- MATLAB实现16种回归算法在数据挖掘中的应用
- ***内容构建指南:深入HTML与LaTeX
- Python实现维基百科“历史上的今天”数据抓取教程