Php 将分钟转换为小时和分钟
如何将分钟转换为小时和分钟?例如Php 将分钟转换为小时和分钟,php,date,datetime,Php,Date,Datetime,如何将分钟转换为小时和分钟?例如 $dt = new DateTime(); $currDate = date_format($dt, 'Y-m-d'); $startMinutes = 939; $startT = $currDate . " " . gmdate("H:i", $startMinutes); 此代码返回类似于“2012-09-12 00:15”的内容,而不是15:。。。为什么?试试这个 $d = floor ($startMinutes / 1440); $h = fl
$dt = new DateTime();
$currDate = date_format($dt, 'Y-m-d');
$startMinutes = 939;
$startT = $currDate . " " . gmdate("H:i", $startMinutes);
此代码返回类似于“2012-09-12 00:15”的内容,而不是15:。。。为什么?试试这个
$d = floor ($startMinutes / 1440);
$h = floor (($startMinutes - $d * 1440) / 60);
$m = $startMinutes - ($d * 1440) - ($h * 60);
echo "{$startMinutes}min converts to {$d}d {$h}h {$m}m";
您应该能够从那里将其拼合起来。类似于以下公式的操作应该有效:
$hours = floor($minutes/60); //round down to nearest minute.
$minutes = $minutes % 60;
echo date('H:i', strtotime($startMinutes.' minutes'));
这是一种非常快速的方法,应该可以:
$hours = floor($minutes/60); //round down to nearest minute.
$minutes = $minutes % 60;
echo date('H:i', strtotime($startMinutes.' minutes'));
date和gmdate函数都将秒作为输入,而不是分钟。所以你所要做的就是把你的开始时间乘以60,得到你的答案
$startT = $currDate . " " . gmdate("H:i", ($startMinutes * 60));
试试这个
function hour_min($minutes){
if($minutes == 0){return '';}else{
$hours = round(intval($minutes/60) , 2); //round down to nearest minute.
$minutes = $minutes % 60; return sprintf("%02d", $hours).':'.sprintf("%02d", $minutes);
}
}
echo hour_min(720); // 12:00
echo hour_min(480); // 08:00
是的,这就是他想要的,他忘了做的就是把分钟乘以60。你可以在下面看到我的答案。你到底想把939转换成什么?这个问题证明提问者甚至没有阅读或理解他正在使用的函数。939的值意味着从1970年朱利安日期算起939秒,或者时间戳开始的时候算起939秒。时间戳不只是秒,而是从1970年1月1日开始算起的秒数。所以,这是有效的,因为你给它发送的时间戳是56340,也就是1970年1月1日格林威治标准时间15:39。@Rocket correct我同意,但根据他所说的,他正在寻找15:。。如果你使用我的答案,你将从gmdateH得到回复:i,939*60;是15:39,所以我认为这就是为什么我认为这就是他想要的。是的,它输出15:39,但我认为OP想要将939分钟转换为15小时39分钟。我不相信这是真的。他正在创建一个带有日期和时间的字符串。我不确定OP想要什么,我猜。快速和稳定的解决方案,也考虑了小时数>24小时。好的这个答案太好了,不能只投一票。所以我打破规则说:谢谢你还活着,能发布如此优雅的帖子。