PHP date()小时,分钟和秒,没有前导零

Dyl*_*oss 6 php time date

可能重复:
将秒转换为小时:分钟:秒

我一直在网上搜索找到一个很好的方法将秒转换为分钟:秒没有前导零.我已经检查过这个问题,这是我唯一能找到的问题,但这些答案都不是很好.也许他们是实现这一目标的唯一和最佳方式,但我希望不会.

我做了这个,它给了我没有前导零的分钟数,但是我无法得到秒.我能想到这样做的唯一方法就是做几行数学等等,但这对于像这样简单的事情似乎是一项非常多的工作......我不知道为什么PHP没有无论如何都要内置几分钟和几秒钟....

intval(gmdate("i:s", $duration));
Run Code Online (Sandbox Code Playgroud)

编辑 所有我想要做的是将视频中的秒数转换为H:M:S格式.

zer*_*kms 2

implode(
    ':',
    array_map(
        function($i) { return intval($i, 10); },
        explode(':', gmdate('H:i:s', $duration))
    )
)
Run Code Online (Sandbox Code Playgroud)

但是,如果 hour==0 那么不打印 0: 并只打印 m:s 呢?

preg_replace(
    '~^0:~',
    '', 
    implode(
        ':',
        array_map(
            function($i) { return intval($i, 10); },
            explode(':', gmdate('H:i:s', $duration))
        )
    )
)
Run Code Online (Sandbox Code Playgroud)

  • 事实上...我现在感觉自己非常愚蠢,仅仅这样做就是我真正需要的。后来我意识到我实际上根本不想删除秒中的前导零。`preg_replace('~^00:0~','', gmdate("H:i:s", $duration));` (2认同)