宝哥软件园

JavaScript实现简易的天数计算器实例【附演示源码下载】

编辑:宝哥软件园 来源:互联网 时间:2021-09-06

本文实例讲述了Java脚本语言实现简易的天数计算器。分享给大家供大家参考,具体如下:

运行效果图如下:

功能:

1.支持选择日期;2.自动计算闰年;3.支持使用当前日期。

代码:

(1)html文件:

!DOCTYPE html html lang=' en ' head meta charset=' UTF-8 '标题简易天数计算器/title脚本类型=' text/JAVAScript ' src=' http : day counter。js/script/head body on load=' initView([' year ',' month ',' day ']);initView(['year2 ',' month2 ',' day2'])形式开始日期选择id=变更时的“年份”=“更新(1)”/select年选择id=变更时的“月”=“更新(1)”/select月选择id='day' /select日输入类型=' checkbox ' id=' startCb ' onclick=' useTodayAsStart()'使用当前日期br/结束日期选择id='第2年'变更='更新(2)'/select年选择id=变更时的“第2个月”=“更新(2)”/select月select id='day2' /select日输入类型=' checkbox ' id=' endCb ' onclick=' useTodayAsEnd()'使用当前日期br/br//表单按钮onclick=' calDays '(DayCountText ')计算天数/button p id=' DayCountText ' style=' margin-left : 10px;/pscript类型='text/javascript' /** *根据年和月更新日列表* @param标志1-开始日期2-结束日期*/function update(flag){ if(flag==1){ updateDaySelect([' year ',' month ',' day ']);} else { updateDaySelect(['year2 ',' month2 ',' day 2 ']);} } //计算天数函数calDays(id){ var s=getDateStr(['年','月','日']);var e=getDateStr(['year2 ',' month2 ',' day 2 ']);document.getElementById(id).innerHTML=calDayCount(s,e);} //使用当前日期作为开始日期函数useTodayAsStart(){ var checked=document。getelementbyid(' startCb ').已检查;使用今日(1,选中);} //使用当前日期作为结束日期函数useTodayAsEnd(){ var checked=document。getelementbyid(' endCb ').已检查;使用今日(2,选中);} /** * 使用当前日期* @param标志1-开始日期2-结束日期* @param选中真的-使用当前时期假的取消使用当前日期*/函数useToday(标志,选中){ var元素;if(flag==1){ elements=getElements([' year ',' month ',' day ']);} else { elements=GetElements(['第2年','第2个月','第2天']);}如果(选中){ //使用当前日期var ymd=getTodayYMD();风险值a;//设置年var yEle=elements[0];for(a=0;Yele。选项。长度;a ) { if (yEle.options[a]).value==ymd[0]) { yEle.options[a].选定='选定打破;} } //设置月var MeLe=elements[1];for(a=0;一个MeLe。选项。长度;a ) { if (mEle.options[a]).value==ymd[1]1){ MeLe。选项[a].选定='选定打破;} } //根据年和月更新日列表更新(标志);//设置日var DelE=elements[2];for(a=0;一个代表团。选项。长度;a ) { if (dEle.options[a]).value==ymd[2]) { dEle.options[a].选定='选定打破;} } } for(var I=0;一。要素。长度;I){ 0元素[i]."禁用=选中?"禁用' :未定义;} }/脚本/正文/html(2)外部射流研究…文件:

/** *日计数器。*由杰克于2029年11月16日创建。*//** * 通过元素的编号获取元素* @param arr id数组。*/函数GetElements(arr){ var elements=[];for(var I=0;一、长度;I){元素。推送(文档。getelementbyid(arr[I]);}返回元素;}//初始化年月日函数initView(arr){ var elements=getElements(arr);//年for(var I=2048;i=1949年年;I-){ var option=document。创建元素('选项');option.setAttribute('value ',' I ');选项。appendchild(文档。createtextnode(' I ');//默认选中2017年if(I==2017){ option。SetAttribute('选定','选定')元素[0]。appendChild(选项);} //月for(var a=1;a=12a){ var选项m=文档。创建元素('选项');optionM.setAttribute('value ',' a ');选项m . appendchild(文档。createtextnode((a ^ 10?0 ' : ' ')a));元素[1]。appendChild(可选);} //日initDay(元素[2],31,1);}函数initDay(day,dayCount,选定值){ for(var I=1;i=天数;I){ var选项d=文档。创建元素('选项');optionD.setAttribute('value ',' I ');if(I==选定值){ option d . set attribute(' selected ',' selected ');}选项d . appendchild(文档。createtextnode((I ^ 10?0 ' : ' ')I));day.appendChild(可选);}}//当年和月发生变化时,更新日函数updateDaySelect(arr){ var elements=getElements(arr);//选中年var y=元素[0]。选项[元素[0]。选择索引].价值;//选中月var m=元素[1]。选项[元素[1]。选择索引].价值;if(m==1 | | m==3 | | m==5 | | m==7 | | m==8 | | m==10 | | m==12){设置日(元素[2],31);} else if(m==4 | | m==6 | | m==9 | | m==11){ setup day(elements[2],30);} else { //判断是否为闰年if ((y % 4==0 y % 100!=0)| | y % 400==0){设置日(元素[2],29);} else { setupDay(elements[2],28);} }}//更新日挑选元素函数setupDay(day,dayCount) { //判断是否需要刷新如果(天。选项。长度==天数){//无需刷新返回;} //原来选中的日var旧值=天。选项[日。selectedindex].价值;if(旧值天数){旧值=天数;} //首先移除所有子元素for(var I=day。子节点。长度-1;I=0;我-){ day。移除子(日。子节点。项目(一))}//添加元素初始日(日、日计数、旧值);}函数getSelectedText(ele){ return ele。选项[ele。selectedindex].文本;}函数GetDateStr(arr){ var elements=GetElements(arr);返回getSelectedText(elements[0])”/“getSelectedText(elements[1])”/“getSelectedText(elements[2]);}/** * 计算天数,日期格式为2016/08/09 * @param startDay开始日期* @param endDay结束日期*/函数日历计数(开始日,结束日){ var s=新日期(开始日' 00:00:00 ').getTime();var e=新日期(结束日期' 00:00:00 ')。getTime();退货86400000;}函数getTodayYMD(){ var Date=new Date();返回[date.getFullYear()、date.getMonth()、date。get date()];}完整演示实例代码点击此处本站下载。

PS:这里再为大家推荐几款比较实用的天数计算在线工具供大家使用:

在线日期/天数计算器:http://工具。JB 51。net/jisuanqi/date _ jisuanqi

在线日期计算器/相差天数计算器:http://工具。JB 51。net/jis uan qi/日期计算

在线日期天数差计算器:http://工具。JB 51。net/jis uan qi/online datejsq

在线天数计算器:http://工具。JB 51。net/jis uan qi/datejsq

更多关于Java脚本语言相关内容感兴趣的读者可查看本站专题: 《JavaScript时间与日期操作技巧总结》 、 《JavaScript查找算法技巧总结》 、 《JavaScript错误与调试技巧总结》 、 《JavaScript数据结构与算法技巧总结》 、 《JavaScript遍历算法与技巧总结》 及《JavaScript数学运算用法总结》

希望本文所述对大家Java脚本语言程序设计有所帮助。

更多资讯
游戏推荐
更多+