gpt4 book ai didi

php - 在 Laravel 5.5 中使用 Carbon 来比较 2 个日期

转载 作者:行者123 更新时间:2023-12-02 03:43:30 26 4
gpt4 key购买 nike

在 Laravel 5.5 中,我使用 Carbon 来比较 2 个日期,但问题是 createFromFormat返回时间戳,我不知道

如何将时间设置为“00:00:00” 。我做:

echo 'passes <pre>$value::'.print_r($value, true).'</pre>';
// output 2018-08-01

$postgresql_format = config('app.postgresql_date_format', 'Y-m-d');

echo '<pre>$postgresql_format::'.print_r($postgresql_format,true).'</pre>';
// output $postgresql_format::Y-m-d

$A = preg_split("/ /", $value);
if (count($A) == 2) {
$value= $A[0];
}

$a= Carbon::createFromFormat($postgresql_format, $value);

echo '<pre>$a->isPast()::'.print_r($a->isPast(),true).'</pre>';
//output $a->isPast():: - seems it is does not work

$today= Carbon::today();
echo '<pre>$today::'.print_r($today,true).'</pre>';
/* Output:
$today::Carbon\Carbon Object
(
[date] => 2017-12-04 00:00:00.000000
[timezone_type] => 3
[timezone] => UTC
)
*/

var_dump($today->lt($a)); // bool(false)
echo '<pre>$a::'.print_r($a,true).'</pre>';

/*
$a::Carbon\Carbon Object
(
[date] => 2018-08-01 08:41:56.000000
[timezone_type] => 3
[timezone] => UTC
)
*/

如何设置$a的时间至“00:00:00”从比较中排除时间?

PS:$a->isPast()似乎不起作用

谢谢!

最佳答案

如果我理解正确的话,您只想根据日期比较两个日期,不包括时间。

Carbon 有一种方法可以根据日期(不包括时间)将其与另一个 Carbon 对象进行比较。

来自Carbon源代码:

public function isSameDay(Carbon $dt)
{
return $this->toDateString() === $dt->toDateString();
}

其中 toDateString 将日期格式设置为“Y-m-d”。

所以你可以这样做:

$date = Carbon::parse('2016-09-17 11:00:00');
$now = Carbon::now();

if ($date->isSameDay($now) ...

或者,如果您只需要检查今天:

if ($date->isToday() ...

更多信息请参见here .

关于php - 在 Laravel 5.5 中使用 Carbon 来比较 2 个日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47629623/

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