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

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

計算工作日(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>

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

本類教程下載

系統下載排行

主站蜘蛛池模板: 欧美性喷潮 | 激情综合网色播五月 | 日韩激情网址 | 欧美国产成人在线 | 久草在线视频在线 | 精品亚洲一区二区在线播放 | 丁香六月婷婷精品免费观看 | 午夜成人免费影院 | 97天天摸天天碰天天爽 | 日本边摸边吃奶边做免费视频 | 久久精品国产亚洲7777 | 夜夜爽天天干 | 91在线视频免费91 | 精品视频在线观看一区二区 | 亚洲精品美女久久久aaa | 香港三级日本三妇三级一 | 亚洲成综合 | 97在线免费视频 | 97成人啪啪网 | 国产精品 视频一区 二区三区 | 久久婷婷婷 | 精品国产三级v | 久久e热 | 男人天堂成人 | 中文字幕在线播放不卡 | 女人18毛片a级毛片一区二区 | 亚洲精品天堂在线 | 英国videodesexo极品性欧美 | 91热视频在线观看 | 九九精品热线免费观看6 | 日韩综合一区 | 波多野结衣 久久 | 日本高清色视频www 日本高清视频www | 五月天激情久久综合一区 | 久久久久久久久一级毛片 | 欧美精品国产综合久久 | 亚洲精品亚洲人成在线 | 亚洲成人欧美 | 日本黄色免费网站 | 久久国产精品99久久小说 | 久久香蕉国产线看观看亚洲片 |