Php 将数字时间转换为秒

Php 将数字时间转换为秒,php,time,digit,date-conversion,Php,Time,Digit,Date Conversion,如何将数字时间转换为秒 我需要比较时间,因此我认为将数字时间转换为秒更容易,稍后再比较秒 例如: 00:00:33 00:01:33 02:01:33 您想使用strotime()。这将“数字时间”转换为Unix时间 $time_in_seconds = strtotime('00:00:33'); 您想使用strotime()。这将“数字时间”转换为Unix时间 $time_in_seconds = strtotime('00:00:33'); 如果要从该格式中查找精确的秒数,可以编写自

如何将数字时间转换为秒

我需要比较时间,因此我认为将数字时间转换为秒更容易,稍后再比较秒

例如:

00:00:33
00:01:33
02:01:33

您想使用
strotime()
。这将“数字时间”转换为Unix时间

$time_in_seconds = strtotime('00:00:33');

您想使用
strotime()
。这将“数字时间”转换为Unix时间

$time_in_seconds = strtotime('00:00:33');

如果要从该格式中查找精确的秒数,可以编写自定义解析器

像这样的事情应该可以做到:

echo hhmmss2seconds("18:24:35");

function hhmmss2seconds($time) {
    $digits = explode(":", $time);
    $seconds = 0;
    $seconds = $seconds + intval($digits[0]) * 3600; // hours
    $seconds = $seconds + intval($digits[1]) * 60; // minutes
    $seconds = $seconds + intval($digits[2]); // seconds    
    return $seconds;
}

如果要从该格式中查找精确的秒数,可以编写自定义解析器

像这样的事情应该可以做到:

echo hhmmss2seconds("18:24:35");

function hhmmss2seconds($time) {
    $digits = explode(":", $time);
    $seconds = 0;
    $seconds = $seconds + intval($digits[0]) * 3600; // hours
    $seconds = $seconds + intval($digits[1]) * 60; // minutes
    $seconds = $seconds + intval($digits[2]); // seconds    
    return $seconds;
}
试试这个:

echo strtotime("1970-01-01 00:00:11  UTC");
试试这个:

echo strtotime("1970-01-01 00:00:11  UTC");
试试这个,它能用吗

 <?php
    function time_to_seconds($time) { 
        list($h, $m, $s) = explode(':', $time); 
        return ($h * 3600) + ($m * 60) + $s; 
    }
    echo time_to_seconds("00:00:33");
    echo time_to_seconds("00:01:33");
    echo time_to_seconds("02:01:33");

    ?>

谢谢..

试试这个,它很管用

 <?php
    function time_to_seconds($time) { 
        list($h, $m, $s) = explode(':', $time); 
        return ($h * 3600) + ($m * 60) + $s; 
    }
    echo time_to_seconds("00:00:33");
    echo time_to_seconds("00:01:33");
    echo time_to_seconds("02:01:33");

    ?>


谢谢。

您所说的“数字时间”是什么意思?@Panda-该页面上的解决方案虽然紧凑,但由于第一个
strotime()
时间与第二个
strotime()
时间稍有不同,因为它是按顺序处理的。在大多数情况下,这是好的,在精度不是一个优先事项,服务器负载是最小的。很多答案,但没有人质疑你为什么要这样做。时间字符串已经具有可比性。相等运算符和比较运算符在应用于字符串本身时已按预期工作。您所说的“数字时间”是什么意思?@Panda-由于第一个
strotime()
,因为它是按顺序处理的。在大多数情况下,这是好的,在精度不是一个优先事项,服务器负载是最小的。很多答案,但没有人质疑你为什么要这样做。时间字符串已经具有可比性。当应用到字符串本身时,相等运算符和比较运算符已按预期工作。如果我这样做$test=strottime(00:00:33),则会很奇怪;echo$test。”
';我得到一个意外的“:“嗯,我现在没有得到错误,但它返回给我:1483570833
strotime()
的参数需要是这样的字符串:
echo$test=strotime(“00:00:33”)我修改了它,所以它被封装在引号中,但是strotime的结果是不正确的。奇怪,如果我这样做$test=strottime(00:00:33);echo$test。”
';我得到一个意外的“:“嗯,我现在没有得到错误,但它返回给我:1483570833
strotime()
的参数需要是这样的字符串:
echo$test=strotime(“00:00:33”)我修改了它,所以它被封装在引号中,但是strotime的结果是不正确的。