date.inc.php3,模拟SQLSERVER的两个函数:dateadd(),d-PHP代码-PHP教程-幽默笑话

首页 > 西方诗歌 > 文章

date.inc.php3,模拟SQLSERVER的两个函数:dateadd(),d-PHP代码-PHP教程-幽默笑话

文章内容,模拟SQLSERVER的两个函数:dateadd(),d修改时间:[2008/07/1222:52]阅读次数:[1057]发表者:[起缘]//文件名://在使用这两个函数前,要先将日期或日期时间转换成timestamp类型。 //如://$today=mktime(0,0,0,date(m),date(d),date(Y));/****模拟sqlserver中的dateadd函数*******$part类型:string取值范围:year,month,day,hour,min,sec表示:要增加的日期的哪个部分$n类型:数值表示:要增加多少,根据$part决定增加哪个部分可为负数$datetime类型:timestamp表示:增加的基数返回类型:timestamp**************结束**************/functiondateadd($part,$n,$datetime){$year=date(Y,$datetime);$month=date(m,$datetime);$day=date(d,$datetime);$hour=date(H,$datetime);$min=date(i,$datetime);$sec=date(s,$datetime);$part=strtolower($part);$ret=0;switch($part){caseyear:$year+=$n;break;casemonth:$month+=$n;break;caseday:$day+=$n;break;casehour:$hour+=$n;break;casemin:$min+=$n;break;casesec:$sec+=$n;break;default:return$ret;break;}$ret=mktime($hour,$min,$sec,$month,$day,$year);return$ret;}/****模拟sqlserver中的datediff函数*******$part类型:string取值范围:year,month,day,hour,min,sec表示:要增加的日期的哪个部分$date1,$date2类型:timestamp表示:要比较的两个日期返回类型:数值**************结束*(*************/functiondatediff($part,$date1,$date2){//$diff=$date2-$date1;$year1=date(Y,$date1);$year2=date(Y,$date2);$month2=date(m,$date2);$month1=date(m,$date1);$day2=date(d,$date2);$day1=date(d,$date1);$hour2=date(d,$date2);$hour1=date(d,$date1);$min2=date(i,$date2);$min1=date(i,$date1);$sec2=date(s,$date2);$sec1=date(s,$date1);$part=strtolower($part);$ret=0;switch($part){caseyear:$ret=$year2-$year1;break;casemonth:$ret=($year2-$year1)*12+$month2-$month1;break;caseday:$ret=(mktime(0,0,0,$month2,$day2,$year2)-mktime(0,0,0,$month1,$day1,$year1))/(3600*24);break;casehour:$ret=(mktime($hour2,0,0,$month2,$day2,$year2)-mktime($hour1,0,0,$month1,$day1,$year1))/3600;break;casemin:$ret=(mktime($hour2,$min2,0,$month2,$day2,$year2)-mktime($hour1,$min1,0,$month1,$day1,$year1))/60;break;casesec:$ret=$date2-$date1;break;default:return$ret;break;}return$ret;}}。