从时间戳中获取持续时间



如何使用PHP将以下时间戳显示为持续时间?

"00:00:00" should result in `0:00`
"00:00:02" should result in `0:02`
"00:00:30" should result in `0:30`
"00:02:30" should result in `2:30`
"00:20:00" should result in `20:00`
"01:02:30" should result in `1:02:30`
"10:20:03" should result in `10:20:03`

正则表达式将执行您想要的操作,假设您从字符串开始:

Regex([1-9].*|.{4}$)查找第一个非零数字并返回它及其后的所有数字,但在任何情况下都返回最后四个字符。

<?php
$arr = ["00:00:00",
"00:00:02",
"00:00:30",
"00:02:30",
"00:20:00",
"01:02:30",
"10:20:03"];
foreach ($arr as $time) {
preg_match('/([1-9].*|.{4}$)/', $time, $matches);
echo $time." -> ".$matches[1]."n";
}

输出:

00:00:00 -> 0:00
00:00:02 -> 0:02
00:00:30 -> 0:30
00:02:30 -> 2:30
00:20:00 -> 20:00
01:02:30 -> 1:02:30
10:20:03 -> 10:20:03

演示:https://3v4l.org/eC8BQ

最新更新