【问题标题】:Laravel : How to convert time to number of minutes? [duplicate]Laravel:如何将时间转换为分钟数? [复制]
【发布时间】:2017-05-05 06:16:44
【问题描述】:

在 laravel 中假设我有这样的输入 '10:30:00' 我想用 ":" 分割它们并将它们转换为整数并像这里一样添加它们它将是 10+30=40 将是输出.我使用'explode'进行拆分,但我不知道如何添加值。如果有人可以帮忙...谢谢。这是我的示例代码,我将时间作为字符串。这不是我想要的重复问题使用要使用的 exploid 函数并将用户的输入作为字符串。不像时间。这个问题显示为我的问题的重复只是时间。 :)

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

【问题讨论】:

  • 为什么要添加分钟和小时?
  • 我想知道如何添加它们。我将小时乘以 60 并加上分钟。我想要几分钟后的输出。
  • 对于 laravel 我更喜欢使用 Carbon 作为 @kapil.dev 回答你。延长时间并仅增加分钟和小时并不是一个好习惯。在某些情况下,秒数也很有用。

标签: php string laravel split


【解决方案1】:

你可以使用array_sum($array_name);

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

$stime$startsum = array_sum($stime);

对于$etime$endsum =array_sum($etime);

希望对您有所帮助。

【讨论】:

  • 如果我这样做 $stime[0]*60 和 $etime[0]*60 那么我将如何将值传递给 array_sum()?
  • 你将不得不存储回 $stime[0] = $stime[0]*60 并且类似地为 $etime[0] = $etime[0]*60
【解决方案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;

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

【讨论】:

    【解决方案3】:

    你试过这样吗……

    <?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;
    

    【讨论】:

    • 是的,通过使用 array_sum() 我得到了想要的输出
    【解决方案4】:

    您也可以使用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'];
    
    ?>
    

    【讨论】:

      猜你喜欢
      • 2014-08-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-06
      相关资源
      最近更新 更多