Php 将秒格式化为可读格式
我知道Php 将秒格式化为可读格式,php,date,format,Php,Date,Format,我知道date和gmdate功能,但在这种情况下我的需求不同 我需要将秒数转换为如下值: A天B小时C分D秒 我不知道如何像这样设置秒的格式 任何帮助都将不胜感激。只需使用floor和86400(一天中的秒数-60*60*24)、3600(一小时中的秒数-60*60)和60(一分钟中的秒数): 这可以通过实现: 使用示例: echo secondsToTime(1234563); #14天6小时56分3秒 +你能发布一些代码吗?文档中有详细的示例 <?php function
date
和gmdate
功能,但在这种情况下我的需求不同
我需要将秒数转换为如下值:
A天B小时C分D秒
我不知道如何像这样设置秒的格式
任何帮助都将不胜感激。只需使用
floor
和86400
(一天中的秒数-60*60*24
)、3600
(一小时中的秒数-60*60
)和60
(一分钟中的秒数):
这可以通过实现: 使用示例:
echo secondsToTime(1234563);
#14天6小时56分3秒
+你能发布一些代码吗?文档中有详细的示例
<?php
function secondsToTime($seconds) {
$days = floor($seconds / 86400);
$seconds -= ($days * 86400);
$hours = floor($seconds / 3600);
$seconds -= ($hours * 3600);
$minutes = floor($seconds / 60);
$seconds -= ($minutes * 60);
$values = array(
'day' => $days,
'hour' => $hours,
'minute' => $minutes,
'second' => $seconds
);
$parts = array();
foreach ($values as $text => $value) {
if ($value > 0) {
$parts[] = $value . ' ' . $text . ($value > 1 ? 's' : '');
}
}
return implode(' ', $parts);
}
var_dump(secondsToTime(1234561));
//string(36) "14 days 6 hours 56 minutes 1 second"
?>