CSV ファイルからデータをインポートするスクリプトを作成しています。これを行っているときに、変数をチェックして、有効な日付文字列であるかどうかを確認できるようにしたいと考えています。
文字列が日付かどうかを確認する方法をいくつか見てきましたが、ほとんどの場合、形式を変更する必要があります。日付の形式がわかりません。
現在、私は strtotime() を使用していますが、これは簡単に失敗します
$field ="May";
if(strtotime($field)){
echo "This is a date";
}
この場合、「May」は名前であり、日付ではありません。
より信頼性の高い機能を推奨できる人はいますか?
一部の方からの質問に基づいて編集します。
私の場合、変数が「日付」として渡されるには、日/月/年に固有である必要があるため、「5月」だけではカウントが曖昧になります。
それと以下の Paul の良い点に基づいて、文字列に次のような数字が含まれているかどうかをテストすることもできます。
$field ="May";
if(strtotime($field) && 1 === preg_match('~[0-9]~', $field)){
echo "This is a date";
}else{
echo "Nope not a date";
}
これは私の当面のニーズをカバーしているようですが、問題を見つけたり、改善を提案したりできますか?