您的位置:首页 > 编程语言 > PHP开发

PHP计算两个时间之差的函数(年,月,周,日,小时,分钟,秒数)

2008-01-30 21:39 781 查看
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);

返回一个数组,可以用下标直接输出来年,月,周,日,小时,分钟,秒数之差
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐