function
DateDiff(
$part
,
$begin
,
$end
)
{
$diff
=
strtotime
(
$end
) -
strtotime
(
$begin
);
switch
(
$part
)
{
case
"y"
:
$retval
=
bcdiv
(
$diff
, (60 * 60 * 24 * 365));
break
;
case
"m"
:
$retval
=
bcdiv
(
$diff
, (60 * 60 * 24 * 30));
break
;
case
"w"
:
$retval
=
bcdiv
(
$diff
, (60 * 60 * 24 * 7));
break
;
case
"d"
:
$retval
=
bcdiv
(
$diff
, (60 * 60 * 24));
break
;
case
"h"
:
$retval
=
bcdiv
(
$diff
, (60 * 60));
break
;
case
"n"
:
$retval
=
bcdiv
(
$diff
, 60);
break
;
case
"s"
:
$retval
=
$diff
;
break
;
}
return
$retval
;
}
function
DateAdd(
$part
,
$number
,
$date
)
{
$date_array
=
getdate
(
strtotime
(
$date
));
$hor
=
$date_array
[
"hours"
];
$min
=
$date_array
[
"minutes"
];
$sec
=
$date_array
[
"seconds"
];
$mon
=
$date_array
[
"mon"
];
$day
=
$date_array
[
"mday"
];
$yar
=
$date_array
[
"year"
];
switch
(
$part
)
{
case
"y"
:
$yar
+=
$number
;
break
;
case
"q"
:
$mon
+= (
$number
* 3);
break
;
case
"m"
:
$mon
+=
$number
;
break
;
case
"w"
:
$day
+= (
$number
* 7);
break
;
case
"d"
:
$day
+=
$number
;
break
;
case
"h"
:
$hor
+=
$number
;
break
;
case
"n"
:
$min
+=
$number
;
break
;
case
"s"
:
$sec
+=
$number
;
break
;
}
return
date
(
"Y-m-d H:i:s"
,
mktime
(
$hor
,
$min
,
$sec
,
$mon
,
$day
,
$yar
));
}
Function DateAdd(
$part
,
$n
,
$date
)
{
switch
(
$part
)
{
case
"y"
:
$val
=
date
(
"Y-m-d H:i:s"
,
strtotime
(
$date
.
" +$n year"
));
break
;
case
"m"
:
$val
=
date
(
"Y-m-d H:i:s"
,
strtotime
(
$date
.
" +$n month"
));
break
;
case
"w"
:
$val
=
date
(
"Y-m-d H:i:s"
,
strtotime
(
$date
.
" +$n week"
));
break
;
case
"d"
:
$val
=
date
(
"Y-m-d H:i:s"
,
strtotime
(
$date
.
" +$n day"
));
break
;
case
"h"
:
$val
=
date
(
"Y-m-d H:i:s"
,
strtotime
(
$date
.
" +$n hour"
));
break
;
case
"n"
:
$val
=
date
(
"Y-m-d H:i:s"
,
strtotime
(
$date
.
" +$n minute"
));
break
;
case
"s"
:
$val
=
date
(
"Y-m-d H:i:s"
,
strtotime
(
$date
.
" +$n second"
));
break
;
}
return
$val
;
}