2016-07-01 6 views
1

Ich habe ein Objekt Datum wie folgt:Wie kann ich einem vorhandenen Datumsobjekt aktuelle Uhrzeit hinzufügen?

2016-06-30 00:00:00

Was ich brauche, ist die aktuelle Zeit in Anspruch nehmen, die

01,07 sagen lassen 14:56 .2016

zum ersten Date-Objekt hinzufügen, um es so aussehen würde:

2016-06-30 14:56:00

Ich verstehe, dass man Zeit, indem zu einem strtotime Objekt hinzufügen kann, und man kann auch die Add-Funktion für Datum und Uhrzeit verwenden. Was mir jedoch schwer fällt herauszufinden, wie man den Zeitteil extrahiert und dann zum ersten Datetime-Objekt hinzufügt.

Gibt es einen einfachen Weg dafür oder muss ich es irgendwie hacken?

Danke

+1

was ist, wenn das erste Datum eine Zeit hat kurz vor Mitternacht? '2016-06-30 23: 00: 00'. Nach dem Hinzufügen dieser Zeit "14: 56" sollte das resultierende Datum nicht "2016-06-30" sein – RomanPerekhrest

+0

Das erste Datum ist immer Mitternacht. Ich hätte das wahrscheinlich klären sollen. – Martin

Antwort

0
<?php 
$d1 = '01.07.2016 14:56'; 
$dt = new DateTime($d1); 
$date = $dt->format('m/d/Y'); 
$time = $dt->format('H:i:s'); 

$d2 ='2016-06-30 00:00:00'; 
$dt2 = new DateTime($d2); 
$date2 = $dt2->format('Y-m-d'); 

$final_date=$date2.' '.$time; 
echo $final_date ; 

Ergebnis == 2016-06-30 14:56:00

0

Dies erklärt, wie Sie es tun können: Set Time Rufen:

date_time_set($date, 14, 56, 00); // $date is your date object 

Da das Date-Objekt ist immer Mitternacht der Wert der Zeit Null und kann dafür überschrieben werden, ohne Informationen verlieren. Wenn Sie mehr als 24 Stunden hinzufügen können, gibt es andere bessere Möglichkeiten. Aber dafür würden wir mehr Informationen benötigen.

0

$ _SERVER ['REQUEST_TIME'], wenn Sie kein neues Objekt erstellen möchten Holen Sie sich das "datediff()" und verwenden Sie dann modify, um das zu einem bestehenden Objekt hinzuzufügen.

Wenn Sie die Zeit um fast Mitternacht ändern und möglicherweise sollten Sie das Datum auch ändern. In diesem Szenario, wenn Sie "modify()" verwenden und TimeInterval hinzufügen. System wird sich auch um die Datumsänderung kümmern.

Wenn Sie sich nicht über Datumsänderungen sorgen. dann ist setTime() immer für uns da.

Verwandte Themen