gpt4 book ai didi

php - 如何在 laravel 中减去时间输入之间的差异?

转载 作者:行者123 更新时间:2023-12-02 14:47:53 26 4
gpt4 key购买 nike

我正在用 laravel 构建一个小应用程序,该应用程序有一个日期和时间输入,我用它来计算给定任务的价格。我已经成功计算出日期差异,现在我正在尝试获取 PM 和 AM 格式的两个选定时间之间的差异,但我被卡住了。我想要实现的是,当用户选择一个时间时,如下例所示;我得到以小时为单位的时差,如果是 3 小时或更多小时,我会给予一定的惩罚,请帮忙!

 array:4 [▼
"pickup_date" => "2019-09-13"
"pickup_time" => "11:37 AM"
"dropoff_date" => "2019-09-14"
"dropoff_time" => "10:37 PM"
]

最佳答案

您可以使用 Cabon diff()

在修补程序中它会像

$ php artisan tinker
Psy Shell v0.9.9 (PHP 7.3.5 — cli) by Justin Hileman
>>> \Carbon\Carbon::parse('2019-09-13 11:37 AM')->diff(\Carbon\Carbon::parse('20
19-09-11 10:23 PM'))
=> DateInterval {#3080
interval: - 1d 13:14:00.0,
}
>>>

您可以在您的代码中使用它。

小时差

> \Carbon\Carbon::parse('2019-09-13 11:37 AM')->diffInHours(\Carbon\Carbon::parse('2019-09-11 10:2
3 PM'))
=> 37

你的if条件可以是

$diff = \Carbon\Carbon::parse('2019-09-13 11:37 AM')->diffInHours(\Carbon\Carbon::parse('2019-09-11 10:2
3 PM'));

然后

if ( $diff > 3 ) {
// do something
} else {
// do something else
}

关于php - 如何在 laravel 中减去时间输入之间的差异?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57867449/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com