JS算出请假时间 正常上班时间为周一至周五 8:30-12:00,13:00-17:30,要求选择了请假起始时间与终止时间后,能用JS算出请假的总小时数,此总小时数要求扣除掉非上班时间(周末,常见节假日,还有一天中的非上班时间:如午休的那一个小时)。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这里有个供参考:http://topic.csdn.net/u/20110428/16/f5722344-be15-4405-9bf3-d21a963de804.html 以及这个http://topic.csdn.net/u/20091015/18/600464fb-c8a0-46ed-8eaa-403a65ca46d3.html 还可以用sql来做的了总之逻辑都差不多的勒 这个是我写的,你可以参考一下http://download.csdn.net/detail/qwerfvcxzasde/3725139 <!DOCTYPE html><html><head> <script src="jquery.js"></script></head><body> <form> <div id="start"> <span>起始时间: </span> <label>年: <input type="text" name="year" value=""/> </label> <label>月: <input type="text" name="month" value=""/> </label> <label>日: <input type="text" name="date" value=""/> </label> <label>小时: <input type="text" name="hour" value=""/> </label> <label>分钟: <input type="text" name="minute" value=""/> </label> </div> <div id="end"> <span>起始时间: </span> <label>年: <input type="text" name="year" value=""/> </label> <label>月: <input type="text" name="month" value=""/> </label> <label>日: <input type="text" name="date" value=""/> </label> <label>小时: <input type="text" name="hour" value=""/> </label> <label>分钟: <input type="text" name="minute" value=""/> </label> </div> <input id="count" type="button" value="Conut"/> </form> <script> function getTime($container, boolen){ var year = $container.find('[name=year]').val(), month = $container.find('[name=month]').val() - 1, date = $container.find('[name=date]').val(), hour = $container.find('[name=hour]').val(), minute = $container.find('[name=minute]').val(); return boolen ? new Date(year, month, date, hour, minute) : new Date(year, month, date); } function getSurplusHours(time){ var currentHour = time.getHours(); if(currentHour <= 8){ return 8; }else if(currentHour >= 17){ return 0; }else if(currentHour >= 12){ return 17 - currentHour; }else{ return 17 - currentHour - 1; } } function getPassHours(time){ var currentHour = time.getHours(); if(currentHour <= 8){ return 0; }else if(currentHour >= 17){ return 8; }else if(currentHour >= 12){ return currentHour - 8 - 1; }else{ return currentHour - 8; } } $('#count').click(function(){ var timeStart = getTime($('#start')), timeEnd = getTime($('#end')), startDay = timeStart.getDay(), endDay = timeEnd.getDay(), days = Math.floor((timeEnd.getTime() - timeStart.getTime()) / (1000 * 60 * 60 * 24)), surplusHours = 0; if(days === 0){ surplusHours = getSurplusHours(getTime($('#start'), true)) + 8 - getSurplusHours(getTime($('#end'), true)); }else{ surplusHours += getSurplusHours(getTime($('#start'), true)); surplusHours -= getSurplusHours(getTime($('#end'), true)); var _week = days / 7; var week = Math.floor(_week); surplusHours += week * 5 * 8; if(_week !== week){ var _days = days - week * 7; if(startDay + _days < 6){ surplusHours += _days * 8; }else if(startDay + _days === 6){ surplusHours += (_days - 1) * 8; }else{ surplusHours += (_days - 2) * 8; } } } alert(surplusHours); }); </script></body></html> JQuery API 官网上面什么地方下载? 我用jquery做了一个异步的上传图片 但是无法获取文件绝对路径无法上传 请问怎么办 【求代码】带复选框的树 JS NEW对象和DOCUMENT获取对象区别 用 insertBefore 增加节点,怎么会多出很多 <div></div>? 截取小数的问题 跪求javascript不能调试的问题 如果你用了QQ那么一定要用下网络号 奇怪的问题,大虾帮忙看看 请问如何给父窗口的select类型的赋值。。。 Ajax聊天室,当有消息时,用户输入框内丢失光标,导致用户无法正常输入文字 求网页左侧导航栏 鼠标点击后字体变色
http://topic.csdn.net/u/20091015/18/600464fb-c8a0-46ed-8eaa-403a65ca46d3.html
总之
逻辑都差不多的勒
这个是我写的,你可以参考一下http://download.csdn.net/detail/qwerfvcxzasde/3725139
<html>
<head>
<script src="jquery.js"></script>
</head>
<body>
<form>
<div id="start">
<span>起始时间: </span>
<label>年:
<input type="text" name="year" value=""/>
</label>
<label>月:
<input type="text" name="month" value=""/>
</label>
<label>日:
<input type="text" name="date" value=""/>
</label>
<label>小时:
<input type="text" name="hour" value=""/>
</label>
<label>分钟:
<input type="text" name="minute" value=""/>
</label>
</div>
<div id="end">
<span>起始时间: </span>
<label>年:
<input type="text" name="year" value=""/>
</label>
<label>月:
<input type="text" name="month" value=""/>
</label>
<label>日:
<input type="text" name="date" value=""/>
</label>
<label>小时:
<input type="text" name="hour" value=""/>
</label>
<label>分钟:
<input type="text" name="minute" value=""/>
</label>
</div>
<input id="count" type="button" value="Conut"/>
</form>
<script>
function getTime($container, boolen){
var year = $container.find('[name=year]').val(),
month = $container.find('[name=month]').val() - 1,
date = $container.find('[name=date]').val(),
hour = $container.find('[name=hour]').val(),
minute = $container.find('[name=minute]').val();
return boolen ? new Date(year, month, date, hour, minute) : new Date(year, month, date);
}
function getSurplusHours(time){
var currentHour = time.getHours();
if(currentHour <= 8){
return 8;
}else if(currentHour >= 17){
return 0;
}else if(currentHour >= 12){
return 17 - currentHour;
}else{
return 17 - currentHour - 1;
}
}
function getPassHours(time){
var currentHour = time.getHours();
if(currentHour <= 8){
return 0;
}else if(currentHour >= 17){
return 8;
}else if(currentHour >= 12){
return currentHour - 8 - 1;
}else{
return currentHour - 8;
}
}
$('#count').click(function(){
var timeStart = getTime($('#start')),
timeEnd = getTime($('#end')),
startDay = timeStart.getDay(),
endDay = timeEnd.getDay(),
days = Math.floor((timeEnd.getTime() - timeStart.getTime()) / (1000 * 60 * 60 * 24)),
surplusHours = 0;
if(days === 0){
surplusHours = getSurplusHours(getTime($('#start'), true)) + 8 - getSurplusHours(getTime($('#end'), true));
}else{
surplusHours += getSurplusHours(getTime($('#start'), true));
surplusHours -= getSurplusHours(getTime($('#end'), true));
var _week = days / 7;
var week = Math.floor(_week);
surplusHours += week * 5 * 8;
if(_week !== week){
var _days = days - week * 7;
if(startDay + _days < 6){
surplusHours += _days * 8;
}else if(startDay + _days === 6){
surplusHours += (_days - 1) * 8;
}else{
surplusHours += (_days - 2) * 8;
}
}
}
alert(surplusHours);
});
</script>
</body>
</html>