首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在PhP中日期和时间24小时格式不同

在PhP中日期和时间24小时格式不同
EN

Stack Overflow用户
提问于 2013-11-11 13:33:49
回答 3查看 1.6K关注 0票数 2

我有两个24小时格式的日期

代码语言:javascript
复制
$fulldate_hour_start    = "2013-11-11 18:16:00 ";
$fulldate_hour_end      = "2013-11-11 23:30:00 ";

我用这个减去了它们

代码语言:javascript
复制
$Hours = number_format((((strtotime($fulldate_hour_end) - strtotime($fulldate_hour_start)) / 60) / 60),2);

结果是5小时23分钟。应该是5小时14分钟。我的错误是什么?

EN

回答 3

Stack Overflow用户

发布于 2013-11-11 13:44:40

试试这个:

代码语言:javascript
复制
$date1 = new DateTime("2013-11-11 18:16:00");
$date2 = new DateTime("2013-11-11 23:30:00");
$interval = $date1->diff($date2);
echo "difference " . $interval->h . " Hours, " . $interval->i." Mintues, ".$interval->s." seconds "; 
票数 4
EN

Stack Overflow用户

发布于 2013-11-11 13:42:00

您将除以3600以将秒转换为小时,然后使用number_format呈现带有两个小数位的结果。

表达式的结果是:

代码语言:javascript
复制
5.23

这确实大约是5小时14分钟。(记住,一个小时有60分钟。)

而不是这样做,您应该以秒为单位保留该值,然后使用function to convert it to a human readable format。一种可能性是date_diff;关联的SO问题还有许多其他的可能性。

票数 0
EN

Stack Overflow用户

发布于 2013-11-11 13:42:16

因为一个小时由60分钟组成,而不是100分钟,5.23小时就是5小时13.8分钟。0.2小时的不匹配是由于将实际值四舍五入到两个小数以得到0.23。

代码语言:javascript
复制
0.23 * 60 = 13.8
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19899519

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档