一个用于两种日期格式的分解函数


One explode function for two date formats

我有两个PHP变量$consult_date_arr$consultationdate。用户可以插入任何日期格式,目前考虑2014年12月22日或2014年12日22日。我想做的是编写一个爆炸函数,它应该适用于这两种条件,即两种日期格式。

$consult_date_arr=explode("/",$consultationdate);
$consult_date_arr=explode("-",$consultationdate);

爆炸函数应该是上面两个爆炸函数在功能上的组合,这样它就适用于这两种格式。如果有任何疑问,请告诉我。

提前谢谢。

尝试类似的东西

    <?php
        $date = '22/12/2014';
        $keywords = preg_split("/[-,'/]+/", $date);
        print_r($keywords);
    ?>

preg_split—通过正则表达式拆分字符串

参考

http://php.net/manual/en/function.preg-split.php

<?php
    $dt = "1992-05-30";
    //$dt = "1992/05/30";
    function expld($date){
        $date = str_replace("/", "-", $date);
        $date = explode("-",$date);
        return $date;
    }
    $newdate = expld($dt);
    echo $newdate[0];
?>

您可以编写自定义函数并在其中调用爆炸

喜欢$string="-"OR"/"或者任何你想用爆炸的东西

function dateFormat($string,$date)
{
   $consult_date_arr=explode($string,$consultationdate);
   return  $consult_date_arr;
}

您将需要正则表达式,在php中使用preg_match

<?php
$consult_date_arr;
$consultationdate = '22/12/2014';
if(preg_match('/['d]{2}-['d]{2}-['d]{4}/', $consultationdate)){
$consult_date_arr = explode('-', $consultationdate);
}else if(preg_match('/['d]{2}'/['d]{2}'/['d]{4}/', $consultationdate)){
    $consult_date_arr = explode('/', $consultationdate);
}
var_dump($consult_date_arr);
?>

嗨,检查下面的代码,

<?php
if(!function_exists('date_explode')){
function date_explode($date){
    $explode_date = array();
    $delimiter    = '';
    if(strstr($date, '/')){
        $delimiter = '/';
    }elseif(strstr($date, '-')){
        $delimiter = '-';
    }
    if(!empty($delimiter)){
        $explode_date = explode($delimiter, $date);
    }
    return $explode_date;
}   
}
$consult_date_arr=date_explode('22-12-2014');
print_r($consult_date_arr);
$consult_date_arr=date_explode('22/12/2014');
print_r($consult_date_arr);
?>

小提琴示例

附言:请进行验证,这是必须的,验证将防止您出现这种类型的问题