我在比较日期时遇到问题。我通过 API 从数据库中提取一个日期。这些日期存储在一个数组中,因为一列包含多个日期,我必须循环浏览它们才能找到下一个即将到来的日期。日期格式为:'dd/mm/yy'
$rawDate = $e->calendarsummary;
$filter = preg_replace("/[a-z]/","", $rawDate);
$createArray = explode(',', $filter);
$dates = array_filter(array_map('trim', $createArray));
foreach($dates as $d)
{
$dateTime = DateTime::createFromFormat('dmy', $d);
if($dateTime >= $now)
{
$finalDate = $dateTime;
$total = $finalDate->format('l j/m/y');
break;
}
}
$dateTime = DateTime::createFromFormat('dmy', $d);
如果我在返回“false”之后放置 $dateTime 的 var_export 。所以我猜 $dateTime 是空的,尽管我的数组 $dates 填充正确。
$dates 的 var_export 返回:
数组(0 => '15/06/13', 1 => '16/06/13', )
并且 $now 的 var 导出返回今天的日期:'16/06/13'
所以我有点困惑为什么我的变量 $DateTime 仍然为空?
编辑:显然,'false' 的返回意味着它是一个错误,所以从数组中格式化我的日期时出了什么问题?