添加两次 laravel
Add two times laravel
我有两次$first = 16 (seconds or minutes)
&$second = 10 (seconds or minutes)
我想要实现的目标 - 我想像 $result = $first + $second
一样添加两次,结果以秒和分钟格式显示
喜欢
$first = 16 seconds;
$second = 2 minutes;
$result = $first + $second; // 2 minutes, 16 seconds
那么,我们如何在代码中做到这一点
我有这个参考代码可以得到两次的时间间隔
$in1 = explode(' ', "clock in time = 20 minutes");
$out1 = explode(' ', "clock out time = 10 minutes");
$start_time1 = $in1[4] . ' ' . $in1[5];
$end_time1 = $out1[4] . ' ' . $out1[5];
$start1 = Carbon::parse($start_time1);
$end1 = Carbon::parse($end_time1);
$dd1 = $end1->diffForHumans($start1, [
'parts' => 2,
'join' => ', ',
'syntax' => CarbonInterface::DIFF_ABSOLUTE,
]);
您可以以秒为单位转换时间,进行加法运算,然后再次转换为时间。
$start = $in1[5] === 'seconds' ? $int1[4] : $int1[4] * 60;
$end = $out1[5] === 'seconds' ? $out1[4] : $out1[4] * 60;
$totalInSeconds = (int) $start + (int) $end;
$dd1 = gmdate('i', $totalInSeconds) .' minutes, '. gmdate('s', $totalInSeconds) .' seconds';
echo $dd1;
Carbon 间隔允许您从 20 minutes
或 10 seconds
等字符串创建一个间隔实例,这样您就可以利用它和一些日期操作来获得您需要的东西:
$in1 = explode('=', "clock in time = 20 minutes");
$out1 = explode('=', "clock out time = 10 minutes");
$startinterval = CarbonInterval::fromString(trim($in1[1]));
$endinterval = CarbonInterval::fromString(trim($out1[1]));
$now = CarbonImmutable::now();
$interval = $now->add($startinterval)->add($endinterval)->diffAsCarbonInterval($now);
我有两次$first = 16 (seconds or minutes)
&$second = 10 (seconds or minutes)
我想要实现的目标 - 我想像 $result = $first + $second
一样添加两次,结果以秒和分钟格式显示
喜欢
$first = 16 seconds;
$second = 2 minutes;
$result = $first + $second; // 2 minutes, 16 seconds
那么,我们如何在代码中做到这一点
我有这个参考代码可以得到两次的时间间隔
$in1 = explode(' ', "clock in time = 20 minutes");
$out1 = explode(' ', "clock out time = 10 minutes");
$start_time1 = $in1[4] . ' ' . $in1[5];
$end_time1 = $out1[4] . ' ' . $out1[5];
$start1 = Carbon::parse($start_time1);
$end1 = Carbon::parse($end_time1);
$dd1 = $end1->diffForHumans($start1, [
'parts' => 2,
'join' => ', ',
'syntax' => CarbonInterface::DIFF_ABSOLUTE,
]);
您可以以秒为单位转换时间,进行加法运算,然后再次转换为时间。
$start = $in1[5] === 'seconds' ? $int1[4] : $int1[4] * 60;
$end = $out1[5] === 'seconds' ? $out1[4] : $out1[4] * 60;
$totalInSeconds = (int) $start + (int) $end;
$dd1 = gmdate('i', $totalInSeconds) .' minutes, '. gmdate('s', $totalInSeconds) .' seconds';
echo $dd1;
Carbon 间隔允许您从 20 minutes
或 10 seconds
等字符串创建一个间隔实例,这样您就可以利用它和一些日期操作来获得您需要的东西:
$in1 = explode('=', "clock in time = 20 minutes");
$out1 = explode('=', "clock out time = 10 minutes");
$startinterval = CarbonInterval::fromString(trim($in1[1]));
$endinterval = CarbonInterval::fromString(trim($out1[1]));
$now = CarbonImmutable::now();
$interval = $now->add($startinterval)->add($endinterval)->diffAsCarbonInterval($now);