Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP日期格式问题_Php_Date_Format - Fatal编程技术网

PHP日期格式问题

PHP日期格式问题,php,date,format,Php,Date,Format,有些人帮我上了车 但是我需要检查两种日期格式MM-DD-YYYY和DD-MM-YY,而不是一种。我需要设置两个正则表达式吗????谢谢你的帮助 $date1=05/25/2010; $date2=25/05/10; //I wish both of them would pass $date_regex = '!^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)\d\d$!'; if (preg_match(

有些人帮我上了车 但是我需要检查两种日期格式MM-DD-YYYY和DD-MM-YY,而不是一种。我需要设置两个正则表达式吗????谢谢你的帮助

$date1=05/25/2010;    
$date2=25/05/10;    //I wish both of them would pass 

$date_regex = '!^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)\d\d$!';

if (preg_match($date_regex, $date1)) {
  do something    
}

if (preg_match($date_regex, $date2)) {  // need second Reg. expression??
  do something    
}
你的正则表达式

$date_regex = '!^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)\d\d$!';
匹配MM-DD-YYYY格式

你想要匹配的另一个很简单

$date_regex2 = '!^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.]\d\d$!';
你可以检查一下这两种说法是否正确

if(preg_match($date_regex,$date) or preg_match($date_regex2,$date)){
  //match
}
或者你可以使用

$mmddyyyy = '!^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)\d\d$!';
$mmddyy = '!^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.]\d\d$!';
$regex = "($mmddyyyy|$mmddyy)";

if(preg_match($regex,$date){
  //match
}
虽然不是最优雅的正则表达式,但它应该工作得很好。

你的正则表达式

$date_regex = '!^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)\d\d$!';
匹配MM-DD-YYYY格式

你想要匹配的另一个很简单

$date_regex2 = '!^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.]\d\d$!';
你可以检查一下这两种说法是否正确

if(preg_match($date_regex,$date) or preg_match($date_regex2,$date)){
  //match
}
或者你可以使用

$mmddyyyy = '!^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)\d\d$!';
$mmddyy = '!^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.]\d\d$!';
$regex = "($mmddyyyy|$mmddyy)";

if(preg_match($regex,$date){
  //match
}

虽然不是最优雅的正则表达式,但它应该工作得很好。

呃,你应该把日期用引号括起来。否则,2010年5月25日只是一个算术表达式(05除以25除以2010)。我知道。在我的应用程序中,我使用mktime。我的代码只用于演示。目的…呃,你应该把日期写进引号里。否则,2010年5月25日只是一个算术表达式(05除以25除以2010)。我知道。在我的应用程序中,我使用mktime。我的代码只用于演示。目的。。。