简单问题:如何将日期(08-17-2011)分为月,日,年?PHP

Dav*_*yer 10 php variables time split date

我有一个名为$ orderdate的变量,它被设置为像mm-dd-yyyy这样的日期格式.

在PHP中,我如何将此变量拆分为$ month,$ day,$ year?

谢谢你的帮助.

bin*_*yLV 19

如果您确定输入值的格式,那么:

$orderdate = explode('-', $orderdate);
$month = $orderdate[0];
$day   = $orderdate[1];
$year  = $orderdate[2];
Run Code Online (Sandbox Code Playgroud)

你也可以使用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';
}
Run Code Online (Sandbox Code Playgroud)

此外,您还可以使用它checkdate()来验证日期.


Kok*_*kos 19

如果您不确定输入格式,还可以执行以下操作:

$time  = strtotime($input);
$day   = date('d',$time);
$month = date('m',$time);
$year  = date('Y',$time);
Run Code Online (Sandbox Code Playgroud)


Bha*_*nan 5

list($month, $day, $year) =explode("-",$orderdate);
Run Code Online (Sandbox Code Playgroud)


小智 5

一个好的方法是使用date_parse_from_format()

对于你的例子:

$dateStr = '03-27-2015';
$dateArray = date_parse_from_format('m-d-Y', $dateStr);
Run Code Online (Sandbox Code Playgroud)

这给出$dateArray

Array
(
    [year] => 2015
    [month] => 3
    [day] => 27
    [hour] => 
    [minute] => 
    [second] => 
...
)
Run Code Online (Sandbox Code Playgroud)