日本国产亚洲-日本国产一区-日本国产一区二区三区-日本韩国欧美一区-日本韩国欧美在线-日本韩国欧美在线观看

當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

計算工作日(jessie看)

計算工作日(jessie看)

更新時間:2019-05-30 文章作者:未知 信息來源:網絡 閱讀次數:

現在還有問題
周一,周二不能做節假日
可能算法上還有問題,等待你的更新...
/**
* sports98
* flyruns@hotmail.com (歡迎交流)
*/
================
<html>
<head>
<title>計算工作日(計算一年內)</title>
</head>
<style type="text/css">
body,td {font-size:12px}
</style>
<body>
<form action="<?=$_SERVER[PHP_SELF]?>" method="post" name="form1">
<table cellpadding=0 cellspacing=0 border=0>
<tr><td colspan=2 height=30 align=center>工作日計算器(計算一年內)
<tr><td>開始日期:<td><input type="text" name="starttime" value="<?=date("Y")?>-01-01">
<tr><td>結束日期:<td><input type="text" name="endtime" value="<?=date("Y-m-d")?>">
<tr><td>周休息數:<td><input type="text" size=1 name="rest" value="2">天 始休日:
<select name="restday">
<option value="1">星期一</option>
<option value="2">星期二</option>
<option value="3">星期三</option>
<option value="4">星期四</option>
<option value="5">星期五</option>
<option value="6" selected>星期六</option>
<option value="7">星期七</option>
</select>
<tr><td valign=top>法定假期:<td>
<textarea name="ordainrest" rows=7>05-01&5
10-01&5</textarea>(&進行分隔)
<tr><td>缺席天數:<td><input type="text" size=1 name="absent" value="0">天(請假等未工作日)
<tr><td>加班天數:<td><input type="text" size=1 name="overtime" value="0">天
<tr><td>補假天數:<td><input type="text" size=1 name="supplytime" value="0">天
<input type="submit" value="計算數據">

</form>
<?php
if(is_array($_POST)){//有POST數據
$starttime=date("z",mktime(0,0,0,substr($_POST[starttime],5,2),substr($_POST[starttime],8,2),substr($_POST[starttime],0,4)));
$endtime=date("z",mktime(0,0,0,substr($_POST[endtime],5,2),substr($_POST[endtime],8,2),substr($_POST[endtime],0,4)));
$alltime=$endtime-$starttime+1;
echo "自開始日期到結束日期,共:".$alltime."天";
echo "<br>缺席天數:".$_POST[absent]."天";
echo "<br>加班日期:".$_POST[overtime]."天";
echo "<br>補假日期:".$_POST[supplytime]."天";
echo "<br>法定假期:<br>";
$tmpa=explode("\n",$_POST[ordainrest]);
for($Tmpb=0;$Tmpb<count($tmpa);$Tmpb++){
$tmpc=explode("&",$tmpa[$Tmpb]);
echo "".$tmpc[0]." 休息 ".$tmpc[1]." 天<br>";
$tmpsize=date("z",mktime(0,0,0,substr($tmpc[0],0,2),substr($tmpc[0],3,2),date("Y")));//節假日的日期數據
if($tmpsize>=$starttime && $tmpsize<=$endtime){
$alltime=$alltime-$tmpc[1];//從總的工作日中去掉法定日期
}
}
//調試點
//echo "<h3>$starttime $endtime</h3>";

$alltime-=$_POST[absent];//扣除缺席天數
$alltime+=$_POST[overtime];//加上加班日期
$alltime-=$_POST[supplytime];//去掉補充的假期

//計算周休息日
$fweek=date("w",mktime(0,0,0,substr($_POST[starttime],5,2),substr($_POST[starttime],8,2),substr($_POST[starttime],0,4)));//獲得開始日期的周數
$eweek=date("w",mktime(0,0,0,substr($_POST[endtime],5,2),substr($_POST[endtime],8,2),substr($_POST[endtime],0,4)));//結束周數
//這里要判斷一下開始的星期天數(要求獲得第一周的日期數)
if($fweek<$_POST[restday]){//不是休息日(指定的工作休息日),在指定休息日前
$ctmp=abs($_POST[restday]-$fweek);
$runday=date("d",mktime(0,0,0,substr($_POST[starttime],5,2),$ctmp+substr($_POST[starttime],8,2),substr($_POST[starttime],0,4)));
//獲得第一周的日期
}else{//再指定休息日后(e.g. $fwwk=6 $_POST[restday]=2)
$ctmp=abs($fweek-$_POST[restday]);
$runday=date("d",mktime(0,0,0,substr($_POST[starttime],5,2),$ctmp+substr($_POST[starttime],8,2),substr($_POST[starttime],0,4)));
}
//調試點
//echo "<h3>$runday $ctmp $_POST[restday] $fweek</h3>";
for($ttmpa=0;;$ttmpa++){
//將當前的節假日向后推7日,進行判斷最終$ttmpa為節假日數
$cday=date("z",mktime(0,0,0,substr($_POST[starttime],5,2),$runday+7*$ttmpa,substr($_POST[starttime],0,4)));
if($cday>$endtime){
break;
}
}
echo "<br>開始日期:".date("Y-m-d 星期w",mktime(0,0,0,substr($_POST[starttime],5,2),substr($_POST[starttime],8,2),substr($_POST[starttime],0,4)));;
echo "<br>結束日期:".date("Y-m-d 星期w",mktime(0,0,0,substr($_POST[endtime],5,2),substr($_POST[endtime],8,2),substr($_POST[endtime],0,4)));;
echo "<br>共計周末休息:".$ttmpa."×".$_POST[rest]."=".$ttmpa*$_POST[rest]."天<span onclick=\"if(document.all['allweek'].style.display==''){this.innerHTML='(+)';document.all['allweek'].style.display='none';}else{this.innerHTML='(-)';document.all['allweek'].style.display='';}\" style=\"cursor:hand\">(+)</span>";
echo "<div id=\"allweek\" style=\"display:'none'\">";
for($TTmpa=0;$TTmpa<$ttmpa;$TTmpa++){
$dday=date("Y-m-d 星期w",mktime(0,0,0,substr($_POST[starttime],5,2),$runday+7*$TTmpa,substr($_POST[starttime],0,4)));
echo "$dday<br>";
}
echo "</div>";
if($fweek==6){//周六
}else if($fweek==0){//周日,則總休息日僅僅去一天休息日
$alltime+=1;//增加一天
}
$allcday=$ttmpa*$_POST[rest];//總的工作休息日
$alltime-=$allcday;
echo "<hr size=1>有效的工作日:<font color=red>$alltime</font>";
}
?>
</body>
</html>

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

主站蜘蛛池模板: 中文字幕在线观看亚洲 | 国产精品亚洲精品一区二区三区 | 蜜臀αv| 欧美日韩中文字幕在线手机版本 | 欧美黑人xxx | 亚洲成在人天堂一区二区 | 国产精品天天操 | 久久精品国产视频 | 亚洲欧美日韩一区二区在线观看 | 中文字幕99在线精品视频免费看 | 日韩精选视频 | 成人免费公开视频 | 欧美日韩亚洲国产精品 | 三级做爰大爽视频网站 | 中文字幕在线播放视频 | 欧美综合视频在线观看 | 国产99福利视频在线 | 久久综合噜噜激激的五月天 | 天天干免费视频 | 欧美精品做人一级爱免费 | 国产亚洲精品久久久久91网站 | 91精品国产免费网站 | 人人澡人摸人人爽歪歪 | 日韩国产欧美成人一区二区影院 | 久久精品国产一区 | 91蜜桃在线观看 | 亚洲激情中文字幕 | 热久久中文字幕 | 欧美伊人 | 日日操免费视频 | 天天干国产 | 五月天婷婷网亚洲综合在线 | 中文字幕精品一区二区三区在线 | 狠久久| 免费观看欧美成人1314w色 | 国产99在线a视频 | 亚洲免费一区 | 亚洲在线视频 | 久久国产精品国产自线拍免费 | 性视频免费视频大全 | 成年人免费观看的视频 |