两种日期格式的爆炸功能

时间:2013-11-19 05:58:07

标签: php

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

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

爆炸功能应该是功能上面两个爆炸功能的组合,这个日期适用于两种格式。如有任何疑问请告诉我。

提前感谢。

5 个答案:

答案 0 :(得分:2)

尝试这样的事情

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

preg_split - 用正则表达式分割字符串

参考

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

答案 1 :(得分:1)

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

像 $ string =“ - ”或“/”或者你想用

爆炸的任何东西
function dateFormat($string,$date)
{
   $consult_date_arr=explode($string,$consultationdate);
   return  $consult_date_arr;
}

答案 2 :(得分:1)

<?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];

?>

答案 3 :(得分:1)

你需要使用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);
?>

答案 4 :(得分:1)

您好,请检查以下代码,

<?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);
?>

fiddle example

P.S。:请确认它是必须的,验证将阻止您处理此类问题