工作日两个日期之间的数

工作日两个日期之间的数

 近期遇到要求两个日期之间的工作日天数的问题。遂在网上找了下js的代码。參考了下别人的代码,发现写的都有些冗余,于是自己思考,进行了一下简单处理。主要是在循环处理上进行了精简。
 对剩余天数的循环,也就能够考虑是对開始日期到剩余天数之间的处理,循环開始日期到剩余天数之间有多少个周六周日(最多仅仅有一个周六或者一个周日)。因为当前開始日期在(0-6)之间,也就是当前開始日期的星期相应的数字加上剩余天数(0-6)的循环一定在(0-11)之间。所以0,7代表周日,6代表周六。
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=gbk"> 
<title>工作日计算</title> 
<script language="javascript"> 
//函数
function getWorkDays(){
var startDate = new Date(document.getElementById("startDate").value.replace(/-/g, "/"));  
//结束日期
var endDate = new Date(document.getElementById("endDate").value.replace(/-/g, "/"));  
	   var diffDays = (endDate - startDate)/(1000*60*60*24) + 1;//获取日期之间相差的天数
	   var remainDay = diffDays % 7;//得到日期之间的余数(0-6之间)
	   var weeks = Math.floor(diffDays / 7);//获取日期之间有多少周
	   var weekends = 2 * weeks;//计算每周*2 得到取整的的周六日天数
	   var weekDay = startDate.getDay();//获取開始日期为星期几(0,1。2,3。4,5,6)0相应星期日
	   for(var i = 0;i < remainDay;i++){//循环处理余下的天数有多少个周六或者周日(最多出现一个周六或者一个周日)
				if(((weekDay + i)==6)||((weekDay + i)==0)||((weekDay + i)==7)){
					weekends = weekends + 1;
				}
			}
	   alert((diffDays-weekends));//工作日=相差天数减去周六日天数

}

</script> 
</head> 
<body> 
<form> 
起始日期:<input type="text" id="startDate" name="startDate" value="2012/03/01">   截至日期<input type="text" id="endDate" name="endDate" value="2014/05/20">
<input type="button" name="BT" value="计算工作日" οnclick="getWorkDays()"> 
</form> 
</body> 
</html>

版权声明:本文博主原创文章。博客,未经同意不得转载。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/109317.html原文链接:https://javaforall.net

(0)
上一篇 2021年9月9日 上午11:00
下一篇 2021年9月9日 上午11:00


相关推荐

  • Nginx 和 Apache 区别最全详解?「建议收藏」

    Nginx 和 Apache 区别最全详解?「建议收藏」Nginx轻量级,采用C进行编写,同样的web服务,会占用更少的内存及资源抗并发,nginx以epollandkqueue作为开发模型,处理请求是异步非阻塞的,负载能力比apache高很多,而apache则是阻塞型的。在高并发下nginx能保持低资源低消耗高性能,而apache在PHP处理慢或者前端压力很大的情况下,很容易出现进程数飙升,从而拒绝服务的现象。nginx处理静态文件好,静态处理性能比apache高三倍以上nginx的设计高度模块化,编写模

    2022年5月2日
    19
  • 远程连接opc服务器设置[通俗易懂]

    远程连接opc服务器设置[通俗易懂]准备工作1.1软件基础(1)安装所需的软件,机器上有必要的OPCclient、OPCServer,如ifix,rslinx,保证rslinx的版本能支持远程opc功能。1.2通讯基础(1)在同一局域网内,能ping通(物理连接,处于同一网段下)(2)建立同名用户及相同密码,win7系统将用户放置于于distributedCOMUser下,若是XP系统,则开启来宾用户…

    2022年6月20日
    26
  • ubuntu 自动挂起_ubuntu 的挂起与休眠

    ubuntu 自动挂起_ubuntu 的挂起与休眠待机计算机将目前的运行状态等数据存放在内存 关闭硬盘 外设等设备 进入等待状态 此时内存仍然需要电力维持其数据 但整机耗电很少 恢复时计算机从内存读出数据 回到挂起前的状态 恢复速度较快 一般笔记本在电池无故障且充满的情况下可以支持这种挂起数小时甚至数天 依具体机型有差别 其他名称 Suspend STR SuspendToRAM 挂起 挂起到内存休眠计算机将目前的运行状态等数据存

    2025年10月11日
    7
  • msfconsole攻击工具_服务器console接口是干嘛的

    msfconsole攻击工具_服务器console接口是干嘛的?Msfconsole工具概括:???Msfconsole简称(msf)是一款常用的渗透测试工具,包含了常见的漏洞利用模块和生成各种木马,方便于安全测试人员的使用.(1)进行端口扫描.(2)进行服务的扫描.(3)扫描3306(Mysql)端口的弱口令.(4)在msf模块里也可以使用nmap进行扫描.(5)扫描了服务器是用WinXP,然后对服务器进行渗透测试.

    2025年9月28日
    5
  • 【图像】伽马校正

    【图像】伽马校正http://blog.csdn.net/lichengyu/article/details/8457425

    2025年11月26日
    4
  • mysql练习题及答案_mysql练习题及答案.doc

    mysql练习题及答案_mysql练习题及答案.docmysql练习题及答案mysql练习题及答案mysql查询语句练习题Sutdent表的定义字段名字段描述数据类型主键外键非空唯一自增Id学号INT10是否是是是Name姓名VARCHAR20否否是否否Sex性别VARCHAR4否否否否否Birth出生年份YEAR否…

    2026年1月17日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号