【发布时间】:2018-05-15 20:27:33
【问题描述】:
我试图展示今天或以后发生的事件,其中今天是特别有问题的。
public function getInspirationsMeetingIds()
{
$ids = [];
if (($inspirationMeetings = $this->getCustomField('meetings'))) {
foreach ($inspirationMeetings as $meeting) {
$row = new Inspiration($meeting['meeting']);
$dateFrom = $row->getCustomField('date');
if (strtotime($dateFrom) >= time()) {
$ids[] = $row->getId();
}
}
}
return $ids;
}
由于某种原因,这只会显示大于 time() 的事件,而不是今天的事件,但是当我尝试这个时:
if (strtotime($dateFrom) <= time()) {
$ids[] = $row->getId();
}
显示今天和以前的事件。
【问题讨论】:
-
时间以秒为单位。您准确地击中第二个的机会非常渺茫
-
可能是因为 time() 显示的是当前时间,而日期在 time() 之前有一个时间戳。
-
$dateFrom是什么格式? -
我认为格式并不重要,因为 strtotime 总是会在一天中的某个时间丢失时添加它。 3v4l.org/cYKO4