时间戳计算两个时间间隔 小时:分钟:秒

黄袍披身 2011-08-12 05:03:30
哪位高人给个函数来..我摸索了好一会了...


$Endtime='2011-08-13 21:30:00';
$Nowtime=strtotime('now');
$IntervalTimeMs=$Endtime-$Nowtime;
$Hour = (int)($IntervalTimeMs/(60*60));
$Min = (int)($IntervalTimeMs%(60*60)/60);

echo $Hour;//-364760



居然是 -364760 ...
...全文
1122 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
黄袍披身 2011-08-12
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 zilingzhi 的回复:]

翻下手册,好简单的。有把从时间戳中提取时间的函数。

至于加减两小时,就那更简单了。

鄙视中……
[/Quote]

汗....年纪到了 脑子不好使呀...
zilingzhi 2011-08-12
  • 打赏
  • 举报
回复
翻下手册,好简单的。有把从时间戳中提取时间的函数。

至于加减两小时,就那更简单了。

鄙视中……
黄袍披身 2011-08-12
  • 打赏
  • 举报
回复
行了 自己KO了.鄙视某些大鳄 不定时发福利.
黄袍披身 2011-08-12
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 t5500 的回复:]

楼主又来送温暖了啊,热烈欢迎~
PHP code
$Endtime = strtotime('2011-08-13 21:30:00');

function timeDiff($startTime, $endTime) {
$s = $endTime - $startTime;
$hour = floor($s / 3600);
$min = floor(($s - $h……
[/Quote]

看我后面的问题,你个该死的...

我看别人计算出来的时差 是一个数值 77874960 (刚刚的)
然后从这里面换算出距离目标 时间 多少小时 多少分钟 多少秒.

知道是咋计算的?

这个77874960好像是秒数...
乌镇程序员 2011-08-12
  • 打赏
  • 举报
回复
$sec = $s - $hour * 3600 - $min * 60;  //计算剩余秒数时,floor()是多余的。
乌镇程序员 2011-08-12
  • 打赏
  • 举报
回复
楼主又来送温暖了啊,热烈欢迎~
$Endtime = strtotime('2011-08-13 21:30:00');

function timeDiff($startTime, $endTime) {
$s = $endTime - $startTime;
$hour = floor($s / 3600);
$min = floor(($s - $hour * 3600) / 60);
$sec = floor($s - $hour * 3600 - $min * 60);

return array($hour, $min, $sec);
}

$timeDiff = timeDiff(time(), $Endtime);

echo $timeDiff[0].'小时'.$timeDiff[1].'分钟'.$timeDiff[2].'秒';
黄袍披身 2011-08-12
  • 打赏
  • 举报
回复
应该是从 数值 77874960 得到 距离目标时间 多少 分钟 多少小时 多少秒...口齿不清.
黄袍披身 2011-08-12
  • 打赏
  • 举报
回复
$Endtime 时间不是 2011-08-13 21:30:00 这个是随便输入的.咔咔
黄袍披身 2011-08-12
  • 打赏
  • 举报
回复
乔丹 现在问题换了..咔咔

我看别人计算出来的时差 是一个数值 77874960 (刚刚的)
然后从这里面换算出 相差时间 多少小时 多少分钟 多少秒.

知道是咋计算的?
一起混吧 2011-08-12
  • 打赏
  • 举报
回复
当前时间戳直接就time()了啊。

$IntervalTimeMs=strtotime($Endtime)-time();
黄袍披身 2011-08-12
  • 打赏
  • 举报
回复
$Endtime=strtotime('2011-08-13 21:30:00');
$Nowtime=strtotime('now');


function timediff($begin_time,$end_time){
if($begin_time<$end_time){
$starttime=$begin_time;
$endtime=$end_time;
} else{
$starttime=$end_time; $endtime=$begin_time;
}

$timediff=$endtime-$starttime;
$days=intval($timediff/86400);
$remain=$timediff%86400;
$hours=intval($remain/3600);
$remain=$remain%3600;
$mins=intval($remain/60);
$secs=$remain%60;
$res=array("day"=>$days,"hour"=>$hours,"min"=>$mins,"sec"=>$secs);
return$res;

}
print_r(timediff($Nowtime,$Endtime));

黄袍披身 2011-08-12
  • 打赏
  • 举报
回复
刚发现 $Endtime 没有 strtotime ....真被催

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧