PHPのドキュメントを見ると、DateTime
オブジェクトの次の2つのメソッドはどちらも私の問題を解決するようです。
- DateTime :: diff:違いを取得し、それを使用してどちらがより古いかを判断します。
- DateTime :: getTimestamp:UNIXタイムスタンプを取得して比較します。
これらのメソッドは両方とも、バージョン5.3以降で利用可能であるとdocoでマークされています(そして、当然のことながら、それらを呼び出そうとすると、それらが存在しないことがわかります)。5.2.8の特定のドキュメントが見つからないため、私のバージョンに同等のメソッドがあるかどうかわかりません。私は問題をグーグル検索し、折衷的な範囲の解決策を見つけましたが、どれも私の非常に単純な要件に答えません:
- 2つのDateTimeオブジェクトを比較するにはどうすればよいですか?
- 以前のバージョンのPHPのdocoはどこにありますか?特にバージョン5.2.8?
一部のコンテキストでは、次のコードがあります。
$st_dt = new DateTime(verifyParam ('start_date'));
$end_dt = new DateTime(verifyParam ('end_date'));
// is the end date more ancient than the start date?
if ($end_dt < $start_dt)
どうやらこの男には比較演算子がありません。
編集する
どうやら私の仮定は完全に誤りでした(これを効果的に説明してくれたMilenに感謝します)。比較演算子があり、うまく動作します。時々私は本当にコンパイラーが恋しいです。バグは上のコードにありますが、私が思ったよりもずっと早く見つけることができると思います:)
$_POST
varにhtmlentityを使用してください。そうしないと、子猫が殺されます。