Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将秒格式化为可读格式_Php_Date_Format - Fatal编程技术网

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"
?>