Simple Question: How to split date (08-17-2011) into month, day, year? PHP

前端 未结 5 716
别那么骄傲
别那么骄傲 2020-12-17 19:06

I have a variable called $orderdate and it is set to a date format like this mm-dd-yyyy.

In PHP how would I split this variable into $month, $day, $year?

Tha

相关标签:
5条回答
  • 2020-12-17 19:14

    A good approach is to use date_parse_from_format().

    For your example:

    $dateStr = '03-27-2015';
    $dateArray = date_parse_from_format('m-d-Y', $dateStr);
    

    This gives $dateArray as:

    Array
    (
        [year] => 2015
        [month] => 3
        [day] => 27
        [hour] => 
        [minute] => 
        [second] => 
    ...
    )
    
    0 讨论(0)
  • 2020-12-17 19:18

    If you are not certain about the input format you can also do the following:

    $time  = strtotime($input);
    $day   = date('d',$time);
    $month = date('m',$time);
    $year  = date('Y',$time);
    
    0 讨论(0)
  • 2020-12-17 19:18
    list($month, $day, $year) =explode("-",$orderdate);
    
    0 讨论(0)
  • 2020-12-17 19:20

    Use explode to split string

    list($m,$d,$y)=explode('-',$date);
    
    0 讨论(0)
  • 2020-12-17 19:40

    If you're sure about the format of input value, then:

    $orderdate = explode('-', $orderdate);
    $month = $orderdate[0];
    $day   = $orderdate[1];
    $year  = $orderdate[2];
    

    You could also use preg_match():

    if (preg_match('#^(\d{2})-(\d{2})-(\d{4})$#', $orderdate, $matches)) {
        $month = $matches[1];
        $day   = $matches[2];
        $year  = $matches[3];
    } else {
        echo 'invalid format';
    }
    

    Additionally, you can use checkdate() to validate the date.

    0 讨论(0)
提交回复
热议问题