$combinedDT = date('Y-m-d H:i:s', strtotime('$date $time'));
Formato data 2013-10-14Merge Data e ora
formato ora 23:40:19
sto ottenendo zeri quando si cerca di memorizzare in un tipo di dati datetime
$combinedDT = date('Y-m-d H:i:s', strtotime('$date $time'));
Formato data 2013-10-14Merge Data e ora
formato ora 23:40:19
sto ottenendo zeri quando si cerca di memorizzare in un tipo di dati datetime
Attualmente stai facendo strtotime('$date $time')
. Le variabili racchiuse tra virgolette singole non vengono interpolate. Se usi virgolette singole, PHP lo tratterà come una stringa letterale e strototime()
proverà a convertire la stringa $date $time
in una data/ora.
Fallirà e questo spiegherebbe perché stai ottenendo risultati errati.
è necessario utilizzare le virgolette doppie invece:
$combinedDT = date('Y-m-d H:i:s', strtotime("$date $time"));
^ ^
E per chi viene qui a lavorare con oggetti 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'