php计算时间差,时间比较,时间计算

本文介绍如何使用PHP进行时间比较、倒计时实现及计算时间差等实用操作,并提供具体示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


复制代码
<?php  
$zero1=date(“y-m-d h:i:s”);  
$zero2=”2010-11-29 21:07:00′;  
echo “zero1的时间为:”.$zero1.”<br>”;  
echo “zero2的时间为:”.$zero2.”<br>”;  
if(strtotime($zero1)<strtotime($zero2)){  
echo “zero1早于zero2′;  
}else{  
echo “zero2早于zero1′;  
}  
?> 
复制代码
上面是比较两个绝对时间的大小
 
复制代码
<?php  
$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 "离过年还有<strong>$guonian</strong>天!";  
?> 
复制代码
上面是倒计时小程序 实例代码
 
  
 
复制代码
<?php
//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."天<br>";
echo $hour."小时<br>";
echo $minute."分钟<br>";
echo $second."秒<br>";
 
?>
复制代码
  
 
  
 
<?php
/**
 * 时间差计算
 *
 * @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) . '前';
?>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值