PHP中对日期操作的函数功能强大,下面的代码是PHP对日期加减的类,很不错,有需要的朋友可以用一下。
如何使用这个类呢?请看下面的演示:
view plain
copy to clipboard
print
?
- $temptime
= time();
- echo
strftime
(
"%Hh%M %A %d %b"
,
$temptime
);
- $date
=
new
DateAccount();
- $temptime
=
$date
->DateAdd(
"n"
,50,
$temptime
);
- echo
"<p>"
;
- echo
strftime
(
"%Hh%M %A %d %b"
,
$temptime
);
如果一切顺利,你可以看到以下结果:
15h41 Saturday 03 Jun
16h31 Saturday 03 Jun
view plain
copy to clipboard
print
?
- $currenttime
= time();
- echo
"Current time: "
.
strftime
(
"%Hh%M %A %d %b"
,
$currenttime
).
"<br>"
;
- $date
=
new
DateAccount();
- $newtime
=
$date
->DateAdd (
"n"
,50 ,
$currenttime
);
- echo
"Time plus 50 minutes: "
.
strftime
(
"%Hh%M %A %d %b"
,
$newtime
).
"<br>"
;
- $temptime
=
$date
->DateDiff (
"n"
,
$currenttime
,
$newtime
);
- echo
"Interval between two times: "
.
$temptime
;
如果一切顺利,你可以看到以下结果:
Current time: 16h23 Saturday 03 Jun
Time plus 50 minutes: 17h13 Saturday 03 Jun
Interval between two times: 50
view plain
copy to clipboard
print
?
- <?php
-
class
DateAccount{
-
function
__construct(){
- }
-
-
function
DateAdd (
$interval
,
$number
,
$date
) {
-
$date_time_array
=
getdate
(
$date
);
-
$hours
=
$date_time_array
[
"hours"
];
-
$minutes
=
$date_time_array
[
"minutes"
];
-
$seconds
=
$date_time_array
[
"seconds"
];
-
$month
=
$date_time_array
[
"mon"
];
-
$day
=
$date_time_array
[
"mday"
];
-
$year
=
$date_time_array
[
"year"
];
-
switch
(
$interval
) {
-
case
"yyyy"
:
$year
+=
$number
;
break
;
-
case
"q"
:
$month
+=(
$number
*3);
break
;
-
case
"m"
:
$month
+=
$number
;
break
;
-
case
"y"
:
-
case
"d"
:
-
case
"w"
:
$day
+=
$number
;
break
;
-
case
"ww"
:
$day
+=(
$number
*7);
break
;
-
case
"h"
:
$hours
+=
$number
;
break
;
-
case
"n"
:
$minutes
+=
$number
;
break
;
-
case
"s"
:
$seconds
+=
$number
;
break
;
- }
-
$timestamp
=
mktime
(
$hours
,
$minutes
,
$seconds
,
$month
,
$day
,
$year
);
-
return
$timestamp
;
- }
-
-
function
DateDiff (
$interval
,
$date1
,
$date2
) {
-
$timedifference
=
$date2
-
$date1
;
-
switch
(
$interval
) {
-
case
"w"
:
$retval
=
bcdiv
(
$timedifference
,604800);
break
;
-
case
"d"
:
$retval
=
bcdiv
(
$timedifference
,86400);
break
;
-
case
"h"
:
$retval
=
bcdiv
(
$timedifference
,3600);
break
;
-
case
"n"
:
$retval
=
bcdiv
(
$timedifference
,60);
break
;
-
case
"s"
:
$retval
=
$timedifference
;
break
;
- }
-
return
$retval
;
- }
- }
- ?>