日付の比較に問題があります。API を介してデータベースから 1 つの日付を取得します。これらの日付は配列に格納されます。これは、1 つの列に複数の日付が含まれており、それらを循環して次の日付を見つける必要があるためです。日付の形式は「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 を配置すると。したがって、配列 $dates は正しく入力されていますが、 $dateTime は空であると推測しています。
$dates の var_export は以下を返します:
配列 ( 0 => '15/06/13', 1 => '16/06/13', )
$now の var export は今日の日付を返します: '16/06/13'
変数 $DateTime が空のままなのはなぜですか?
編集:どうやら「false」の戻り値はエラーであることを意味するため、配列から日付をフォーマットするときに何か問題が発生しましたか?