Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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?

Thanks for your help.

like image 763
David Meyer Avatar asked Aug 18 '11 07:08

David Meyer


2 Answers

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.

like image 54
binaryLV Avatar answered Nov 06 '22 20:11

binaryLV


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);
like image 21
Kokos Avatar answered Nov 06 '22 18:11

Kokos