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

时间:2016-07-11 09:01:49

标签: php datetime

我有一个提交日期和时间的表单,我希望根据这些值创建一个\ 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对象?

2 个答案:

答案 0 :(得分:2)

' T'你在格式中使用的是一个时区,而不是一个字面的' T'。您可以使用以下格式:'Y-m-d\TH:i:s'。反斜杠逃脱了' T'一个文字的'。我遗漏了空间,因为你不需要它。像这样:

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

当然,这个答案确实假设' T'永远存在,永远不会改变。

答案 1 :(得分:0)

  

试试这个

<?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