1

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

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

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

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

dd($date1);

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

找不到分隔符号 数据丢失

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

4

2 回答 2

1

关于碳文档:

createFromFormat() 主要是基本 php 函数 DateTime::createFromFormat 的包装器。

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

DateTime::create文档:

$datetime
表示时间的字符串。

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

$date1 = Carbon::createFromTimestamp($date1);
于 2021-11-08T08:50:24.660 回答
1

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

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

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

$date->startOfDay()->eq(now()->startOfDay());
于 2021-11-08T08:50:34.590 回答