指定された日付パターンが ISO 日付と一致しない理由
最初に直面した問題は、ISO スタイルの日付を検証するために使用される正規表現が予期した値を返さないことでした。 「2012-08-24 20:30:00」のような日付に一致する場合、「true」の結果が返されます。オンライン ツールを使用してテストした場合、正規表現は有効であるように見えたので、これは不可解かもしれません。
エラーは、正規表現の前後に区切り文字がないことにあります。 PHPでは正規表現は「/」で囲む必要があります。開始スラッシュと終了スラッシュが追加されると、検証関数は指定された日付文字列と正しく一致する必要があり、形式が ISO 準拠の場合は「true」、それ以外の場合は「false」になります。
書き込み時の潜在的な落とし穴を避けるためカスタム正規表現を使用する場合は、PHP の DateTime クラスを利用することを強くお勧めします。このクラスは、検証や書式設定のための便利なメソッドを含む、日付と時刻を操作するための包括的な API を提供します。
DateTime クラスを利用して提供される関数は、さまざまな形式で日付を検証するための多用途のソリューションを提供します。日付文字列とオプションの形式文字列を受け入れます。さまざまな日付と時刻の形式の例が示されており、日付検証タスクを処理するための堅牢な方法が提供されます。
以上が私の正規表現が PHP の ISO 日付と一致しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。