如何正确比较两个 Unix 时间戳

How to properly compare two Unix timestamps

我正在使用 Laravel 5.8,如果当前日期的 unix 时间戳等于弹出窗口的定义 unix 时间戳,我想显示一条弹出消息。

所以为了做到这一点,我在控制器中添加了这个:

if($popup->datep == now()->timestamp){
    $output .=' <a href=" '.$popup->linkp.' "><img src=" '. URL::to('popups/'.$popup->image_path).' " style="width: 100%;"></a>';
}

现在 $popup->datep 显示 1636403400now()->timestamp 显示 1636355812

但它们的比较总是 returns TRUE 并显示弹出消息。甚至我输入了明年的时间戳!

那么这里出了什么问题?我怎样才能正确地比较两个 Unix 时间戳并显示一些基于此的结果?

$date1= $popup->datep;
$date2 = Carbon::now;

$date1 = Carbon::createFromFormat('Y-m-d H:i:s', $date1);
$date2 = Carbon::createFromFormat('Y-m-d H:i:s', $date2);

$result = $date1->eq($date2);

if($result === true){
  dd("equal");
}

你需要采用相同的日期和格式,然后你才能有条件。