PHP 里如何进行时间比较?

2025-04-28 03:23:10
推荐回答(1个)
回答1:

相关代码如下:

下面是比较两个绝对时间的大小:

1.

2. $zero1=date(“y-m-d h:i:s”);   

3. $zero2=”2010-11-29 21:07:00′;   

4. echo “zero1的时间为:”.$zero1.”
”;   

5. echo “zero2的时间为:”.$zero2.”
”;   

6. if(strtotime($zero1)

7.  echo “zero1早于zero2′;   

8. }else{   

9.  echo “zero2早于zero1′;   

10. }   

11. ?>

下面是倒计时小程序 实例代码:

$zero1=strtotime (date("y-m-d h:i:s")); //当前时间  ,注意H 是24小时 h是12小时 

$zero2=strtotime ("2014-1-21 00:00:00");  //过年时间,不能写2014-1-21 24:00:00  这样不对 

$guonian=ceil(($zero2-$zero1)/86400); //60s*60min*24h   

echo "离过年还有$guonian天!";   

?>

//PHP计算两个时间差的方法 

$startdate="2010-12-11 11:40:00";

$enddate="2012-12-12 11:45:09";

$date=floor((strtotime($enddate)-strtotime($startdate))/86400);

$hour=floor((strtotime($enddate)-strtotime($startdate))%86400/3600);

$minute=floor((strtotime($enddate)-strtotime($startdate))%86400/60);

$second=floor((strtotime($enddate)-strtotime($startdate))%86400%60);

echo $date."天
";

echo $hour."小时
";

echo $minute."分钟
";

echo $second."秒
";

?>

/**

* 时间差计算

*

* @param Timestamp $time

* @return String Time Elapsed

* @author Shelley Shyan

* @copyright http://phparch.cn (Professional PHP Architecture)

*/

function time2Units ($time)

{

$year   = floor($time / 60 / 60 / 24 / 365);

$time  -= $year * 60 * 60 * 24 * 365;

$month  = floor($time / 60 / 60 / 24 / 30);

$time  -= $month * 60 * 60 * 24 * 30;

$week   = floor($time / 60 / 60 / 24 / 7);

$time  -= $week * 60 * 60 * 24 * 7;

$day    = floor($time / 60 / 60 / 24);

$time  -= $day * 60 * 60 * 24;

$hour   = floor($time / 60 / 60);

$time  -= $hour * 60 * 60;

$minute = floor($time / 60);

$time  -= $minute * 60;

$second = $time;

$elapse = '';

$unitArr = array('年'  =>'year', '个月'=>'month',  '周'=>'week', '天'=>'day',

'小时'=>'hour', '分钟'=>'minute', '秒'=>'second'

);

foreach ( $unitArr as $cn => $u )

{

if ( $$u > 0 )

{

$elapse = $$u . $cn;

break;

}

}

return $elapse;

}

$past = 2052345678; // Some timestamp in the past

$now  = time();     // Current timestamp

$diff = $now - $past;

echo '发表于' . time2Units($diff)

补充说明:

1、PHP,一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:Hypertext Preprocessor)的缩写。PHP 是一种 HTML 内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。

2、PHP 独特的语法混合了C、Java、Perl 以及 PHP 自创新的语法。它可以比 CGI 或者 Perl 更快速的执行动态网页。

3、PHP最初是由勒多夫在1995年开始开发的;现在PHP的标准由the PHP Group维护。PHP以PHP License作为许可协议,不过因为这个协议限制了PHP名称的使用,所以和开放源代码许可协议GPL不兼容。