合并日期&时间

时间:2013-10-15 07:08:09

标签: php html date datetime time

$combinedDT = date('Y-m-d H:i:s', strtotime('$date $time'));

日期格式 二零一三年十月十四日

时间格式 23点四十零分19秒

我在尝试存储到datetime数据类型

时得到零

2 个答案:

答案 0 :(得分:35)

您目前正在strtotime('$date $time')。包含在单引号中的变量不进行插值。如果使用单引号,PHP会将其视为文字字符串,strototime()会尝试将字符串$date $time转换为时间戳。

它会失败,这可以解释为什么你的结果不正确。

您需要使用双引号:

$combinedDT = date('Y-m-d H:i:s', strtotime("$date $time"));
                                            ^           ^

答案 1 :(得分:20)

对于那些使用DateTime对象来到这里的人:

$date = new DateTime('2017-03-14');
$time = new DateTime('13:37:42');

// Solution 1, merge objects to new object:
$merge = new DateTime($date->format('Y-m-d') .' ' .$time->format('H:i:s'));
echo $merge->format('Y-m-d H:i:s'); // Outputs '2017-03-14 13:37:42'

// Solution 2, update date object with time object:
$date->setTime($time->format('H'), $time->format('i'), $time->format('s'));
echo $date->format('Y-m-d H:i:s'); // Outputs '2017-03-14 13:37:42'