2012-01-04 8 views
-2

PHPで日付を検証しようとしていますが、正しい日付形式を指定しても「無効な日付形式」のエラーが表示されています。私のPHPのバージョンは5.3.8です。ここで無効な日付の問題

が私のコードで、私はあなたが聞かせてください。

try 
{ 
    $validDate = new DateTime("2/2/2011"); 
    echo "valid format"; 
} 
catch(Exception $e) 
{ 
    echo "Date Incident Occurred: Invalid Date format!"; 
} 
+2

まあは「アメリカ/ニューヨーク」を選択しました。 'DateTime'コンストラクタのドキュメントを見てください。 –

+1

@LightnessRacesinOrbit http://www.php.net/manual/en/datetime.formats.date.phpによると、これは完全に有効な形式です。 – ceejayoz

+0

'strtotime'を使って日付を解析し、それから' DateTime'オブジェクトを作ることができます。 –

答えて

3

あなたは例外を検査しようとしたことがありますか?何が起こったのかを伝えるのは非常に難しいです。それが存在の全理由です。あなたが本当に有効な日付を供給している場合は、私は例外を賭けるあなたにこのような何か語っている:

「を日時:: __構築物():システムの タイムゾーンの設定に依存するのは安全ではありません。 が必要です。には、date.timezoneの設定 またはdate_default_timezone_set()関数を使用する必要があります。 のいずれかの方法を使用していて、まだこの警告が表示されている場合、おそらく はタイムゾーン識別子のスペルを間違えています。あなたは、あなたがこの問題を持つことはない正しい形式を供給したい場合我々は、 「EST/-5.0 /なしDST」の代わりに」

+1

なぜこれがダウン表示されているのか分かりません。それはまあ問題かもしれない。 – ceejayoz

+0

+1 @ceejayozに同意します – rdlowrey

+0

私は[HobNobs](http://en.wikipedia.org/wiki/HobNob)のパケットにこれが問題であると賭けるでしょう。 – salathe

-1
$validDate = date("m/d/Y", strtotime("2/2/2011")); 
+0

これはDateTimeオブジェクトを生成しません。 – ceejayoz

関連する問題