如何在 PHP 中计算 2 次(不是日期时间)之间的秒差。Laravel // PHP // 碳

这是一个使问题清楚的示例。以下两个示例都给出了错误的区别:


// gives 86398 while the correct is 2sec

$diff_in_sec = strtotime('23:59:59') - strtotime('00:00:01'); 


// again gives 86398 while the correct is 2sec.

$diff_in_sec = Carbon::parse('00:00:01')->diffInSeconds(Carbon::parse('23:59:59')); 

我想要的是23:59:59compared with00:00:01返回 2 秒的差异,和 00:00:01compare with 23:59:59。


料青山看我应如是
浏览 70回答 2
2回答

海绵宝宝撒

不幸的是,您需要将它们转换为日期时间。php 怎么知道 23:59:59 和 00:00:01 不是在同一天出现的?

Smart猫小萌

您需要做的是将两者都分配给变量,并查看第二次是否在第一次之前。如果是这样,请添加一天。然后检查差异:$date1 = Carbon::parse('23:59:59');$date2 = Carbon::parse('00:00:01');if($date2->lt($date1)) {   $date2->addDay();}$date2->diffInSeconds($date1); // 2
打开App,查看更多内容
随时随地看视频慕课网APP