如何在 php 中转换以毫秒为单位的时间

How to convert time in milliseconds in php

我有一个字幕文件,其中有 start_time 和 end_time,格式如下 00:38:42,689 但我没有想要这个我有字幕的功能,可以在毫秒内工作,所以我想在 php.

中以毫秒为单位转换它

我怎样才能完成它。谢谢

$string = "00:38:42,689";
$time   = explode(":", $string);

$hour   = $time[0] * 60 * 60 * 1000;
$minute = $time[1] * 60 * 1000;

$second = explode(",", $time[2]);
$sec    = $second[0] * 1000;
$milisec= $second[1];

$result = $hour + $minute + $sec + $milisec;

echo $result;

您可以使用 DateTime class 从那里进行解析和计算:

$timeString = '00:38:42,689';
$dateTime   = DateTime::createFromFormat('H:i:s,u', $timeString);

$milliseconds =
    $dateTime->format('H') * 60 * 60 * 1000 +  // milliseconds in an hour
    $dateTime->format('i')      * 60 * 1000 +  // milliseconds in a minute
    $dateTime->format('s')           * 1000 +  // milliseconds in a second
    $dateTime->format('u')           / 1000;   // microseconds in a millisecond

此代码的示例是 here