首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将数字和小数转换为HH:MM

如何将数字和小数转换为HH:MM
EN

Stack Overflow用户
提问于 2013-01-30 21:02:55
回答 5查看 1.2K关注 0票数 0

我有一个变量$route->flighttime,它回显以下格式的数字...

代码语言:javascript
复制
0.5
1.2
1.45

如何使用echo将其转换为显示HH:MM

注:由于某些原因,0.5被内容管理系统视为50分钟。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-01-30 21:23:55

基于OPs关于他的初始时间格式的评论(其中.5实际上是50分钟),这是一个没有任何数学计算的解决方案

代码语言:javascript
复制
$time = floatval($route->flighttime);
echo number_format($time,2,':',null);
票数 3
EN

Stack Overflow用户

发布于 2013-01-30 21:05:35

如果输入是小时的浮点值

首先将浮点值转换为小时/分钟:

代码语言:javascript
复制
$hours = floor($route->flighttime);
$minutes = ($route->flighttime - $hours) * 60;

如果输入的是小时/分钟对,则将其转换为适合浮点数

您可以乘以100而不是60,或者使用可能更精确的此技术:

代码语言:javascript
复制
list($hours, $minutes) = explode('.', sprintf('%.2F', $route->flighttime));

无论如何

然后使用printf (或一些类似的函数,如sprintf)来正确地格式化它:

代码语言:javascript
复制
printf("%02d:%02d", $hours, $minutes);
票数 1
EN

Stack Overflow用户

发布于 2013-01-30 21:12:08

我猜0.5意味着半个小时。使用格式为G:igmdate,时间以秒为单位:

代码语言:javascript
复制
echo gmdate('G:i', round($x * 3600));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14604704

复制
相关文章

相似问题

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