Php 比较日期时间时出现问题

Php 比较日期时间时出现问题,php,laravel,datetime,Php,Laravel,Datetime,我试着比较两个约会时间 $expiry = strtotime($actualprice->created_at); if($expiry < strtotime('now')) $expiry=strottime($actualprice->created\u at); 如果($expirycreated_at)->isPast())等于false,那么也是如此。@Yojan您使用的是雄辩吗?请显示dd($actualprice->created_at)“2018-02-26 1

我试着比较两个约会时间

$expiry = strtotime($actualprice->created_at);
if($expiry < strtotime('now'))
$expiry=strottime($actualprice->created\u at);
如果($expiry

上述if条件计算为false。问题是什么?顺便说一句,我的默认时区是UTC。我的问题不是如何比较日期时间。这就是我要问的比较问题。

由于在
创建的
会自动转换为a,因此您可以使用
isast()
isFuture()
方法:

if ($actualprice->created_at->isPast()) // Is expired?
if ($actualprice->created_at->isFuture()) // Is not expired?
如果要在此之前设置时区,请执行以下操作:

$actualprice->created_at->timezone = new DateTimeZone('Europe/London');

在created_at上直接使用isPast而不使用Carbon::parse对我不起作用。如果(Carbon::parse($actualprice->created_at)->isPast())等于false,那么也是如此。@Yojan您使用的是雄辩吗?请显示
dd($actualprice->created_at)
“2018-02-26 14:13:19”@Yojan的结果,这样您就不用雄辩了<代码>解析
将适用于您。您说过您正在使用默认时区UTC,因此
isPast()
将适用于您。它将返回
false
,因为当前UTC时间是
2018-02-26 09:55:00
,并且
2018-02-26 14:13:19
日期不是过去的。设置
$timestamps=false
是问题所在。非常感谢你。