数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

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


发布日期:2019年06月07日
 
如何模拟SQL Server的两个日期处理函数

//在PHP中处理日期非常不方便比如求两个日期之间相差的月份?该怎么办呢?

//文件名dateincphp

//在使用这两个函数前要先将日期或日期时间转换成timestamp类型

//如

//$today=mktime(date(m)date(d)date(Y));

/****模拟sqlserver中的dateadd函数*******

$part 类型string

取值范围yearmonthdayhourminsec

表示要增加的日期的哪个部分

$n 类型数值

表示要增加多少根据$part决定增加哪个部分

可为负数

$datetime类型timestamp

表示增加的基数

返回 类型timestamp

**************结束**************/

function dateadd($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=;

switch ($part) {

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($hour$min$sec$month$day$year);

return $ret;

}

/****模拟sqlserver中的datediff函数*******

$part 类型string

取值范围yearmonthdayhourminsec

表示要增加的日期的哪个部分

$date$date 类型timestamp

表示要比较的两个日期

返回 类型数值

**************结束*(*************/

function datediff($part$date$date){

//$diff=$date$date;

$year=date(Y$date);

$year=date(Y$date);

$month=date(m$date);

$month=date(m$date);

$day=date(d$date);

$day=date(d$date);

$hour=date(d$date);

$hour=date(d$date);

$min=date(i$date);

$min=date(i$date);

$sec=date(s$date);

$sec=date(s$date);

$part=strtolower($part);

$ret=;

switch ($part) {

case year:

$ret=$year$year;

break;

case month:

$ret=($year$year)*+$month$month;

break;

case day:

$ret=(mktime($month$day$year)mktime($month$day$year))/(*);

break;

case hour:

$ret=(mktime($hour$month$day$year)mktime($hour$month$day$year))/;

break;

case min:

$ret=(mktime($hour$min$month$day$year)mktime($hour$min$month$day$year))/;

break;

case sec:

$ret=$date$date;

break;

default:

return $ret;

break;

}

return $ret;

}

}

上一篇:在SQLServer中启用FileStream

下一篇:Whats new in Microsoft SQLServer2000(七)