2011-01-20 19 views
0
01/20/2011 = January 20, 2011 

01/2011 = January 2011 

これら2つの形式のみを許可する必要があります。strtotimeと日付のバリデーション(01/20/2011と2011年1月1日)

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
  • のみを含める必要があります= IF
  • 第二部分は、
  • 第三部分は、4つの数字
  • からなるべき数01〜31が含まれている必要があり

= 01/2011

  • 最初の部分のみ含まれている必要があり番号01-12
  • IF
  • 2番目の部分は4つの数字で構成する必要があります

答えて

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; 
    } 
} 
+0

yah、そうです!どうもありがとう! :) –

関連する問題