Php 从时间字符串变为双精度字符串

Php 从时间字符串变为双精度字符串,php,time,double,Php,Time,Double,我让我的网站用户在00:00-23:59时间文本输入中填写时间。然后我将其解析为双精度(例如,他们输入2:30,它将变为2.30)。我如何将这些时间改为实际双打。说2:30->2.50,1:45->1.75等等。。。我一直在思考这个问题,我觉得答案很简单,但我似乎想不起来 谢谢大家! 下面的函数“convertTime”怎么样?这对你有用吗 class TimeTest extends \PHPUnit_Framework_TestCase { function test_convertT

我让我的网站用户在00:00-23:59时间文本输入中填写时间。然后我将其解析为双精度(例如,他们输入2:30,它将变为2.30)。我如何将这些时间改为实际双打。说2:30->2.50,1:45->1.75等等。。。我一直在思考这个问题,我觉得答案很简单,但我似乎想不起来


谢谢大家!

下面的函数“convertTime”怎么样?这对你有用吗

class TimeTest extends \PHPUnit_Framework_TestCase
{
   function test_convertTime()
    {    
        $this->assertEquals(23.0,convertTime(23.00));
        $this->assertEquals(23.5,convertTime(23.30));
        $this->assertEquals(23.17,round(convertTime(23.10),2));
        $this->assertEquals(24.0,convertTime(23.60));
    }
}

function convertTime($time){
    $secondsPart = ($time - floor($time))*100;
    if($secondsPart == 0){
        return $time;
    }
    $secondsPartAsFraction = 60/$secondsPart;
    $inDecimal = 100/$secondsPartAsFraction;
    return floor($time)+($inDecimal/100);
}

首先,您的范围比一天多一秒,即00:00-23:59。第二,你想做什么?23:30应该是多少?你把约会和双人约会混在一起,这很奇怪。你应该从00:00开始得到秒,这更容易做到。@Samuel是对的,这里有些奇怪的事情。还要注意用户:像您正在询问的文本输入非常复杂,因此您会有很多错误。这可能更像是用户体验的问题,但无论如何…@samual 23:30应该是23.50。是的,我的日子是00:00-23:59。