【问题标题】:php - Converting Time From HH:MM:SS Format That Has A Dot To Secondsphp - 将具有点的 HH:MM:SS 格式的时间转换为秒
【发布时间】:2017-01-25 12:17:36
【问题描述】:

我有这种字符串:

$duration = "00:20:55.60000";

它是从使用ffmpeg 的视频中提取的。我需要将其转换为秒。

我试过这个:strtotime("1970-01-01 $duration UTC");(我从here得到它)但它不起作用。可能是因为它在秒部分包含点。

有没有办法将该字符串转换为秒?

【问题讨论】:

  • 为什么不在':'上展开它,将第一个和第二个元素相乘,然后将值相加
  • strtotime("1970-01-01 ".substr($duration,0,8)." UTC"); 会修复它

标签: php time strtotime


【解决方案1】:

试试这个:

$duration = "00:20:55.60000";
echo time(strtotime($duration));
// returns : 1485346959

或者

echo date('H:i:s', strtotime($duration));
// returns: 00:20:55

Working Code

【讨论】:

    【解决方案2】:

    只需使用 DateTime 类。

    $now = '00:20:55.60000';
    $timevalue = new DateTime($now);
    $onlytime = $timevalue->format('H:i:s');
    echo $onlytime ;
    

    【讨论】:

      【解决方案3】:
      $duration = "00:20:55.60000";
      echo date('H:i:s', strtotime($duration));
      

      【讨论】:

        猜你喜欢
        • 2011-06-17
        • 1970-01-01
        • 2017-10-16
        • 1970-01-01
        • 2012-02-10
        • 1970-01-01
        • 2012-02-20
        相关资源
        最近更新 更多