-1

こんにちは、私は現在、php の検証で立ち往生しています。日付を date(); に対してテストしようとしています。日付が現在のものであることを確認し、現在の日付よりも前の日付を許可しないようにします date()

 public function checkDateField($month, $day, $year)
       {
            if (!is_numeric($month) || !is_numeric($day) || !is_numeric($year) || !checkdate($month, $day, $year)) {
                $msg = '*Invalid date';


// then some where here test the value 
of $month $day $year >= date... 
something like that?
///           
            }
            return $msg;    
       }
4

3 に答える 3

0

このようなものはうまくいくはずです(フォーマットの日付を想定しています YYYY-MM-DD):

function isValidFutureDate($date)
{
    if (false === strtotime($date))
    {
        return false;
    }

    list($year, $month, $day) = explode('-', $date);
    if (false === checkdate($month, $day, $year))
    {
        return false
    }

    $now = new DateTime();
    $compare = new DateTime($date);
    if ($compare < $now)
    {
        return false;
    }
}
于 2013-04-22T14:41:59.147 に答える
0
public function checkDateField($month, $day, $year){

    if (!is_numeric($month) || !is_numeric($day) || !is_numeric($year) return 'Invalid date';

    if (strtotime($year.'-'.$month.'-'.$day.' 23:59:59') < time()){
        return 'Invalid time';
    }

}
于 2013-04-22T14:44:50.850 に答える