|
本人在开发学校用的OA系统,大家都知道学校使用的时间是教学周。
我在实现的时候使用以下函数(model)进行教学周的计算
PHP复制代码
/* 计算 第几周星期几 是 某年某月某日 */
public function get_datetime ($week, $weekday) {
$arr = explode('-', $this->startdate());
$year = $arr[0];
$month = $arr[1];
$day = $arr[2];
$unixtime = mktime(0,0,0,$month,$day,$year)+(($week-1)*7+$weekday)*86400;
return date('Y-m-d',$unixtime);
}
/* 计算 某年某月某日 是 开学第几天 */
private function get_schooldays ($date = NULL) {
if (is_null($date)) {
$date = $this->enddate();
}
$startdate = $this->startdate();
$start = strtotime($startdate);
$end = strtotime($date);
$days = round(($end-$start)/3600/24);
return $days;
}
/* 计算 某年某月某日 是 第几教学周 */
public function get_schoolweek ($date = NULL) {
return intval($this->get_schooldays($date)/7) + 1;
}
复制代码
我使用的平台是 win7 + wamp 套件。
现在的问题是,上述函数能够准确计算教学周,但是不稳定,有时候刷新页面会显示PHP报错或者是 -2 周。
请问怎么到底哪里出了问题?应该怎么改进?
|
|