合并日期和时间
$combinedDT = date('Y-m-d H:i:s', strtotime('$date $time'));
日期格式 2013-10-14
时间格式 23:40:19
我在尝试存储到日期时间数据类型时得到零
$combinedDT = date('Y-m-d H:i:s', strtotime('$date $time'));
日期格式 2013-10-14
时间格式 23:40:19
我在尝试存储到日期时间数据类型时得到零
您当前正在做 .用单引号括起来的变量不会进行插值。如果使用单引号,PHP 会将其视为文本字符串,并尝试将字符串转换为时间戳。strtotime('$date $time')
strototime()
$date $time
它会失败,这可以解释为什么你得到不正确的结果。
您需要改用双引号:
$combinedDT = date('Y-m-d H:i:s', strtotime("$date $time"));
^ ^
对于那些来这里使用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'