benutzte ich DateTime::createFromFormat
und vsprintf
eine Zeitfolge aus dem Array zu konstruieren, und kam mit dieser:
<?php
$endDate = array(
'month' => '05',
'day' => '30',
'year' => '2017',
'hour' => '10',
'min' => '48',
'meridian' => 'pm'
);
$date = DateTime::createFromFormat('d/m/Y h:i a', vsprintf('%s/%s/%s %s:%s %s', [
$endDate['day'],
$endDate['month'],
$endDate['year'],
$endDate['hour'],
$endDate['min'],
$endDate['meridian'],
]));
echo $date->format('d/m/Y h:i a');
Ausgänge (und Sie können das Format zwicken:
30/05/2017 10:48 pm
Eigentlich müssen Sie wahrscheinlich nicht einmal DateTime
verwenden, aber ich würde vorschlagen, dass Sie tun, wie Sie es dann weiter manipulieren können (fügen Sie Zeitintervalle hinzu oder ändern Sie die Fo RMAT), könnten Sie wahrscheinlich nur tun:
printf('%s/%s/%s %s:%s %s', [
$endDate['day'],
$endDate['month'],
$endDate['year'],
$endDate['hour'],
$endDate['min'],
$endDate['meridian'],
]
Demo: https://eval.in/778600
Suchen Sie so etwas wie dieses http://stackoverflow.com/questions/11322777/how- to-convert-a-date-array-das-wurde-von-date-parse-back-in-a-date-s zurückgegeben – cpap
http://php.net/manual/en/function.mktime.php – AbraCadaver
Auch dies könnte den Trick http://php.net/manual/en/datetime.createfromformat.php –