0
01/20/2011 = January 20, 2011

01/2011 = January 2011

应该只允许这两种格式!

i.e. 01/01/01/2011 = ERROR!

PHP:

$date = '01/20/2011';

//$date = '01/2011';

if(........format test........)//01/20/2011
{
    if(...validation...)
    {
        echo date('F j, Y', strtotime($date));
    }
}
else//01/2011
{
    if(...validation...)
    {
        echo date('F Y', .....);
    }
}

验证:

如果 = 2011 年 1 月 20 日

  • 第一部分应仅包含数字 01-12
  • 第二部分应仅包含数字 01-31
  • 第三部分应由 4 个数字组成

如果 = 01/2011

  • 第一部分应仅包含数字 01-12
  • 第二部分应由 4 个数字组成
4

1 回答 1

0

这会起作用吗:

function custom_checkdate($date){
    $date_parts = explode('/', $date);

    if(count($date_parts) === 3){
        $d = $date_parts[1];
        $m = $date_parts[0];
        $y = $date_parts[2];
    }elseif(count($date_parts) === 2){
        $d = 1;
        $m = $date_parts[0];
        $y = $date_parts[1];
    }else{
        return false;
    }

    if( checkdate($m, $d, $y) ){
        return true;
    }else{
        return false;
    }
}
于 2011-01-20T13:52:03.697 回答