1 <? PHP
2 // 時間格式為YYYYMMDDHHmmss
3 function timeDiff( $aTime , $bTime )
4 {
5 // 分割第一個時間
6 $ayear = substr ( $aTime , 0 , 4 );
7 $amonth = substr ( $aTime , 4 , 2 );
8 $aday = substr ( $aTime , 6 , 2 );
9 $ahour = substr ( $aTime , 8 , 2 );
10 $aminute = substr ( $aTime , 10 , 2 );
11 $asecond = substr ( $aTime , 12 , 2 );
12 // 分割第二個時間
13 $byear = substr ( $bTime , 0 , 4 );
14 $bmonth = substr ( $bTime , 4 , 2 );
15 $bday = substr ( $bTime , 6 , 2 );
16 $bhour = substr ( $bTime , 8 , 2 );
17 $bminute = substr ( $bTime , 10 , 2 );
18 $bsecond = substr ( $bTime , 12 , 2 );
19 // 產生時間戳記
20 $a = mktime ( $ahour , $aminute , $asecond , $amonth , $aday , $ayear );
21 $b = mktime ( $bhour , $bminute , $bsecond , $bmonth , $bday , $byear );
22 $timeDiff [ ' second ' ] = $a - $b ;
23 // 採用了四捨五入,可以修改
24 $timeDiff [ ' mintue ' ] = round ( $timeDiff [ ' second ' ] / 60 );
25 $timeDiff [ ' hour ' ] = round ( $timeDiff [ ' mintue ' ] / 60 );
26 $timeDiff [ ' day ' ] = round ( $timeDiff [ ' hour ' ] / 24 );
27 $timeDiff [ ' week ' ] = round ( $timeDiff [ ' day ' ] / 7 );
28 $timeDiff [ ' month ' ] = round ( $timeDiff [ ' day ' ] / 30 ); // 按30天來算
29 $timeDiff [ ' year ' ] = round ( $timeDiff [ ' day ' ] / 365 ); // 按365天來算
30 return $timeDiff ;
31 }
32 ?> 用法:
$a=timeDiff("20060613161000","20040613150000");
print_r($a);
返回一個數組,可以用下標直接輸出來年,月,周,日,小時,分鐘,秒數之差