从日期字符串和时间字符串创建日期时间


Create DateTime from date string and time string

我有一个同时提交日期和时间的表单,我希望基于这些值创建一个 ''DateTime 对象

$submission['time']值如下所示:"T09:45:00"

$submission['date']值如下所示:"2016-07-11"

我试过了

var_dump('DateTime::createFromFormat(
    'Y-m-d TH:i:s', $reportArray['date'] . ' ' . $reportArray['time'])
); // also tried without 'T' (TH:i:s)

然而,这打破了剧本。

有没有一种简单的方法可以从一个日期字符串和一个时间字符串创建一个 ''DateTime 对象?

您在格式中使用的"T"表示时区,而不是文字"T"。您可以使用以下格式:'Y-m-d'TH:i:s' .反斜杠将"T"转义为文字"T"。我省略了空间,因为你不需要它。喜欢这个:

var_dump('DateTime::createFromFormat(
    'Y-m-d'TH:i:s', $reportArray['date'] . $reportArray['time'])
); 

当然,这个答案确实假设"T"总是在那里并且永远不会改变。

试试这个

<?php
$d1=$submission['date']='2016-07-11';
$t1=$submission['time']='T09:45:00';
$con=$d1.$t1;
$displaytime=date('d-m-Y H:i:s A',strtotime($con));
echo $displaytime;
?>

它将给出您想要的输出,例如:11-07-2016 09:45:00 AM