日期:2011-05-01  浏览次数:20428 次


现在还有问题
周一,周二不能做节假日
可能算法上还有问题,等待你的更新...
/**
  * 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="计算数据">
</table>
</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