【发布时间】:2012-12-02 10:03:51
【问题描述】:
好的,所以我有这个功能:
function convertTime($ms){
$sec = floor($ms/1000);
$ms = $ms % 1000;
$min = floor($sec/60);
$sec = $sec % 60;
$t = $sec;
$hr = floor($min/60);
$min = $min % 60;
$t = $min;
$day = floor($hr/60);
$hr = $hr % 60;
$t = $hr . " h " . $t . " m";
return $t;
}
它将毫秒转换为 h:m,它适用于正数。 示例:
echo convertTime(60000); // outputs: 0 h 1 m
echo convertTime(60000*70); // outputs: 1 h 10 m
echo convertTime(60000*60*48); // outputs: 48 h 0 m
(我不希望它转换为天,所以它显示了实际的小时数) 不幸的是,它不适用于负数...
echo convertTime(-60000); //outputs: -1 h -1 m (should be 0 h -1 m)
关于如何弥补这一点的任何想法?
【问题讨论】:
-
您希望得到什么结果? 1h 1m 还是 22h 59m?
-
回声转换时间(-60000); // 应该输出:0 h -1 m
-
echo "-".convertTime(60000);怎么样:P -
@jurgemaister 这不适用于更高的
$ms- 结果可能类似于-12 h 54 m... -
@Alice 你的算法有一个错误:应该像
$day = floor($hr / 24);一样计算天数,因为一天有24小时......
标签: php time converter notation negative-number