PHP模拟SQL Server的两个日期处理函数

//在PHP中处理日期非常不方便,比如求两个日期之间相差的月份?该怎么办呢?
//文件名:date.inc.php3
//在使用这两个函数前,要先将日期或日期时间转换成timestamp类型。 //如:
//$today=mktime,date,date);
/****澳门新葡亰网站注册,模拟sqlserver中的dateadd函数******* $part类型:string
取值范围:year,month,day,hour,min,sec 表示:要增加的日期的哪个部分
$n类型:数值 表示:要增加多少,根据$part决定增加哪个部分 可为负数
$datetime类型:timestamp 表示:增加的基数 返回类型:timestamp
**************结束**************/
functiondateadd{ $year=date; $month=date; $day=date; $hour=date;
$min=date; $sec=date; $part=strtolower; $ret=0; switch{ case”year”:
$year+=$n; break; case”month”: $month+=$n; break; case”day”: $day+=$n;
break; case”hour”: $hour+=$n; break; case”min”: $min+=$n; break;
case”sec”: $sec+=$n; break; default: return$ret; break; } $ret=mktime;
return$ret; } /****模拟sqlserver中的datediff函数*******
$part类型:string 取值范围:year,month,day,hour,min,sec
表示:要增加的日期的哪个部分 $date1,$date2类型:timestamp
表示:要比较的两个日期 返回类型:数值
**************结束*{ //$diff=$date2-$date1; $year1=date;
$year2=date; $month2=date; $month1=date; $day2=date; $day1=date;
$hour2=date; $hour1=date; $min2=date; $min1=date; $sec2=date;
$sec1=date; $part=strtolower; $ret=0; switch{ case”year”:
$ret=$year2-$year1; break; case”month”: $ret=*12+$month2-$month1;
break; case”day”: $ret=-mktime)/; break; case”hour”:
$ret=-mktime)/3600; break; case”min”: $ret=-mktime)/60; break;
case”sec”: $ret=$date2-$date1; break; default: return$ret; break; }
return$ret; } }