找不到分隔符号 数据丢失

The separation symbol could not be found Data missing

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

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

$date1= $popup->datep; // returns 1636403400

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

dd($date1);

但是我没有得到 $date1 的结果,而是得到了这个错误:

The separation symbol could not be found Data missing

那么这里出了什么问题?我该如何解决这个问题?

关于 Carbon 文档:

createFromFormat() is mostly a wrapper for the base php function DateTime::createFromFormat.

这意味着您的第二个参数必须是有效的 date/time 格式,而不是时间戳。

DateTime::create 文档:

$datetime
String representing the time.

相反,您需要使用 createFromTimestamp 实例化器。

$date1 = Carbon::createFromTimestamp($date1);

您指定的格式显然不是 unix 时间戳。时间戳使用方法。

$date = Carbon::createFromTimestamp($popup->datep);

如果要将其比较为同一日期,则应执行以下操作。我不认为你想按小时或秒来比较它,它们几乎永远不会匹配。

$date->startOfDay()->eq(now()->startOfDay());