「yyyy-mm-dd」などの特定の形式に基づいて日付文字列を検証することは、次の場合に非常に重要です。正確なデータ処理を保証します。正規表現は基本的なアプローチを提供しますが、文字列が形式に従っているが無効な日付を表すすべてのシナリオに対応できるわけではありません。
PHP では、DateTime::createFromFormat() がこの目的のための堅牢なソリューションを提供します。 。この関数は、指定された日付文字列と形式から DateTime オブジェクトを作成します。作成された DateTime オブジェクトの書式設定された文字列を元の文字列と比較することで、日付が指定された書式に対して有効かどうかを確認できます。
DateTime::createFromFormat():
を利用する関数の例を次に示します。function validateDate($date, $format = 'Y-m-d') { $d = DateTime::createFromFormat($format, $date); return $d && strtolower($d->format($format)) === strtolower($date); }
テスト ケースは、次の機能を実証します。
var_dump(validateDate('2013-13-01')); // false var_dump(validateDate('20132-13-01')); // false var_dump(validateDate('2013-11-32')); // false var_dump(validateDate('2012-2-25')); // false var_dump(validateDate('2013-12-01')); // true var_dump(validateDate('1970-12-01')); // true var_dump(validateDate('2012-02-29')); // true var_dump(validateDate('2012', 'Y')); // true var_dump(validateDate('12012', 'Y')); // false var_dump(validateDate('2013 DEC 1', 'Y M j')); // true
の機能を活用することで、 DateTime::createFromFormat() を使用するこのアプローチは、日付文字列が指定された形式に対して有効かどうかを効果的に判断し、信頼性の高いデータ管理を保証します。
以上がPHP で特定の形式に対して日付文字列を確実に検証するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。