Laravel:如何将时间转换为分钟数?

时间:2016-12-20 05:22:54

标签: php string laravel split

在laravel中假设我输入像'10:30:00'我想用“:”将它们拆分并将它们转换成整数并将它们添加到这里它将是10 + 30 = 40将是输出。我用'爆炸'分裂,但我不知道如何添加值。如果有人可以帮助请...谢谢。我的示例代码在哪里我需要时间作为字符串。这不是重复的问题,因为我想要使用exploid函数并将用户输入作为字符串。不是时间。问题是显示我的问题的重复只是时间。 :)

$startTime= $request->input('starttime');
$finishTime=$request->input('endtime');
$stime = explode(':',$startTime);
$estime = explode(':',$finishTime);

4 个答案:

答案 0 :(得分:2)

您可以使用array_sum($array_name);

在执行array_sum之前你必须执行$ stime [0] * 60和$ etime [0] * 60以便将它们转换为分钟

$stime执行$startsum = array_sum($stime);

$etime执行$endsum =array_sum($etime);

希望这有助于你。

答案 1 :(得分:2)

您可以使用Carbon提取小时和分钟

$startTime= \Carbon::parse($request->input('starttime'));
$stime = ($startTime->hour * 60) + $startTime->minute;
$finishTime=\Carbon::parse($request->input('endtime'));
$estime = ($finishTime->hour * 60) + $finishTime->minute;

要了解有关碳的更多信息,请参阅:http://carbon.nesbot.com/docs/#api-interval

答案 2 :(得分:1)

你有没有试过这个......

<?php
$time='10:30:00';
$stime = explode(':',$time);


$sum=0;
foreach ($stime as $s)
{
    $sum=$sum+$s;
}
echo $sum;

?>

如果您使用array_sum() ..请尝试这样......

$sum=array_sum($stime);
echo $sum;

答案 3 :(得分:0)

你也可以使用date_parse方法进行php。

<?php 
$startTime= '10:30:02';
$finishTime= '12:30:20';

$parsed = date_parse($startTime);
$startTimeSeconds = $parsed['hour'] * 3600 + $parsed['minute'] * 60 + $parsed['second'];

$parsed = date_parse($finishTime);
$finishTimeSeconds = $parsed['hour'] * 3600 + $parsed['minute'] * 60 + $parsed['second'];

?>