我有一个平均时间的数字。 我想返回像“00:00:12”这样的时间格式,怎么做?
a_function(){
$sum_duration = Model::where('as_user_id',$this->id)->sum('duration');
//sum_duration = 21
$week_count = $first_impression->created_at->diffInWeeks($last_impression->created_at);
//week_count = 2
$time = date_create(round($sum_duration / ($week_count == 0? 1:$week_count)));
//false
return date_format( $time,"H:i:s");
}
上面的代码不起作用。 如何更改为显示时间格式,如00:00:00((h:i:s
))
我假设你有碳
;
$sum_duration = 21; // from your calculation
$week_count = 2; // from your calculation
$default = Carbon::now()->setTime(0, 0); // set as 00:00:00
$difference = round($sum_duration / ($week_count == 0 ? 1 : $week_count)); // your calculation
$default->addSeconds($difference); // add seconds to 00:00:00
return $default->format('H:i:s');
编辑秒
假设持续时间以分钟为单位。 可以使用gmdate()方法对其进行格式化。
示例:
gmdate("H:i:s", 123) // returns 00:02:03
我用createFromTime方法做了一个解决方案;
$sum_duration = Model::where('as_user_id',$this->id)->sum('duration');
//sum_duration = 21
$week_count = $first_impression->created_at->diffInWeeks($last_impression->created_at);
//week_count = 2
$time = Carbon::createFromTime(0,0,round($sum_duration / ($week_count == 0? 1:$week_count)));
return date_format( $time,"H:i:s");