php中怎么实现两个日期相减取小时阿?

kenshin_z 2004-08-06 01:02:31
比如$a="2004-02-02 12:12:12" $b="2004-03-05 14:14:14"
然后希望$b减去$a,得出的值换算成小时,怎么实现阿?谢谢拉!
...全文
383 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
这样可以取到秒
<?
$a="2004-12-01 22:56:00";
$b="2004-12-01 23:01:02";

$time_a=strtotime($a);
$time_b=strtotime($b);

$time=$time_b-$time_a;//四舍五入保留2位小数
echo $time.'秒<br/>';
?>
lzkd 2004-08-06
  • 打赏
  • 举报
回复
呵,好了就行,恭喜楼主:)

记得结帖:)
kenshin_z 2004-08-06
  • 打赏
  • 举报
回复
好了。谢谢!
lzkd 2004-08-06
  • 打赏
  • 举报
回复
出错信息贴出来看看
kenshin_z 2004-08-06
  • 打赏
  • 举报
回复
那就奇怪了阿,我测试了之后怎么是错误的阿
lzkd 2004-08-06
  • 打赏
  • 举报
回复
楼主不明白时间戳吗?

看一下手册了,值是很大,这个值的意思是,从1970-1-1以来到你所
输入的时间的总共秒数,(如2004-02-02 12:12:12)当然值要不小的了.
最后echo出来的数值是正确的,我是试过后才贴出来的.
kenshin_z 2004-08-06
  • 打赏
  • 举报
回复
不对阿,取出来数值很大的,是不是哪里错了阿?
lzkd 2004-08-06
  • 打赏
  • 举报
回复
<?php
$a="2004-02-02 12:12:12";
$b="2004-03-05 14:14:14";

$time_a=strtotime($a);
$time_b=strtotime($b);

$time=round(($time_b-$time_a)/(60*60),2); //四舍五入保留2位小数
echo $time.'小时<br>';
?>
kenshin_z 2004-08-06
  • 打赏
  • 举报
回复
小弟是初学者,希望大哥们把代码贴出来,非常感谢!
lzkd 2004-08-06
  • 打赏
  • 举报
回复
基本思路
1 将时间换算成UNIX时间戳
2 将两个时间戳相减
3 相减后的数值除60*60(即除3600秒)就是小时数

代码不用写了吧?

21,893

社区成员

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

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