【问题标题】:How to convert time in milliseconds in php [closed]如何在php中以毫秒为单位转换时间[关闭]
【发布时间】:2015-10-05 17:17:06
【问题描述】:

我有一个字幕文件,其中我有 start_time 和 end_time 格式如下 00:38:42,689 但我不希望这样我有字幕功能,可以在毫秒内工作,所以我想在 php 中以毫秒为单位进行转换。

我怎样才能完成它。谢谢

【问题讨论】:

  • 到目前为止你尝试过什么?您可以用“:”拆分字符串,然后将每个部分相乘。这应该很容易
  • 您的值格式是否正确?我认为没有。
  • 我已经编辑了我的问题,请阅读并感谢您的评论
  • 没有显示示例代码,所以不赞成

标签: php time


【解决方案1】:
$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;

【讨论】:

    【解决方案2】:

    您可以使用DateTime 类进行解析和计算:

    $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

    【讨论】:

      猜你喜欢
      • 2018-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-29
      • 1970-01-01
      • 2022-11-27
      • 1970-01-01
      • 2015-06-17
      相关资源
      最近更新 更多