日付が定義された範囲内にあるかどうかを判断する方法
プログラミングでは、ユーザーが指定した日付かどうかを確認するタスクに遭遇することがあります。日付はあらかじめ決められた日付範囲内にあります。これは、ユーザー入力の検証や一時的な基準に基づいたデータのフィルタリングなどのシナリオでは非常に重要です。
効率的な比較のためのタイムスタンプへの変換
このタスクに効果的に取り組むには、次のことをお勧めします。 strtotime 関数を使用して日付をタイムスタンプに変換します。これにより、日付を表す文字列が、1970 年 1 月 1 日からの秒数を表す数値表現 (エポック タイムスタンプ) に変換されます。
範囲チェック関数の確立
日付をタイムスタンプに変換すると、範囲を実行する関数を作成できます。 check:
function check_in_range($start_date, $end_date, $date_from_user) { // Convert to timestamp $start_ts = strtotime($start_date); $end_ts = strtotime($end_date); $user_ts = strtotime($date_from_user); // Check that user date is between start & end return (($user_ts >= $start_ts) && ($user_ts <= $end_ts)); }
この関数は、開始日、終了日、チェックする日付の 3 つのタイムスタンプ パラメーターを受け取ります。論理比較を使用して、ユーザーが指定した日付が指定された範囲内にあるかどうかを判断し、それに応じてブール値を返します。
使用例
この関数を使用するには、次のようにします。関連する日付をタイムスタンプ パラメータとして渡すだけです:
check_in_range('2009-06-17', '2009-09-05', '2009-08-28');
この使用例は、次のことを確認します。 「2009-08-28」は「2009-06-17」と「2009-09-05」で定義された範囲内にあり、範囲内にある場合は true を返し、そうでない場合は false を返します。
以上が日付が特定の範囲内にあるかどうかを確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。