如何计算小时,分钟和秒从总分钟在php


how to calculate hours,minutes and seconds from total minutes in php?

我正在开发一个php网站。

我需要添加作业到sql server 2008数据库。

我的工作时长单位是分钟,我想把它转换成H: I:s格式。

我正在使用这个代码:

  $hours = (int)($duration / 60);
  $minutes = $duration - ($hours * 60);
  $time = $hours.":".$minutes;

int duration为30,60,100,120等。

但如果持续时间为1.33或5.40,则输出应分别为00:01:30或00:05:40。

try this

<?php
 $duration = "1.33";
 $hours    = (int)($duration / 60);
 $minutes  = $duration - ($hours * 60);   
  date_default_timezone_set('UTC');
  $date = new DateTime($hours.":".$minutes);
  echo $date->format('H:i:s');
?>

输出
00:01:33

使用DateInterval类如果你运行的是PHP> 5.3.0:

$interval = new DateInterval('100 minutes');
$interval->format('%H:%I:%S');  // prep for MySQL database. 

当您花费几分钟时,这段代码正在完美地工作

$valueInMinutes = 135;
echo intval($valueInMinutes / 60);
echo " h ";
echo intval($valueInMinutes % 60);

并输出

2 h 15

如果你必须管理天数,只需将代码稍微更改为:

$value = 1505;
echo intval($value / 1440);
echo " day(s) ";
echo intval(($value % 1440) / 60);
echo " h ";
echo intval($value % 60);

将输出

1 day(s) 1 h 5

您可以使用php date函数:

$hours = (int)($duration / 60);
$minutes = $duration - ($hours * 60);
$time = date("H:i:s", strtotime($hours.":".$minutes));
echo $time;

关于date的更多信息可以在这里找到http://php.net/manual/en/function.date.php

希望这对你有帮助

试试这个

$time = 5.40;
$newtime = floatval($time);
echo number_format($newtime,2,':',null);

试试这个

echo $time = date("H:i:s", strtotime($hours)) . ":" . date("H:i:s", strtotime($minutes));

01:33:00 : 05:40:00