26 Stimmen

Zeit aus einem Datum/Zeit-String abrufen

Ich habe einen Datumswert in einer Variablen gespeichert. Ich muss den Zeitanteil des Wertes in eine separate Variable extrahieren und dann die Zeit davon addieren/subtrahieren.

Die Datumsvariable wird mit date('YmdHis') gesetzt und ergibt (zum Beispiel) 20110805124000 für den 5. August 2011, 12:40:00

Von dem Wert 20110805124000 (der in der Variablen $fulltime gespeichert ist) muss ich die Zeit nur im Format 12:40 (also ohne Jahr, Monat, Tag und Sekunden und mit dem Doppelpunkt zwischen Stunde und Minute) in einer Variablen namens $shorttime speichern. Dann muss ich eine Anzahl von Stunden zu dieser Zeit hinzufügen (so würden beispielsweise +3 Stunden den Wert in der Variablen $shorttime auf 15:40 ändern). Die Anzahl der Stunden, die ich hinzufügen muss, wird in einer Variablen namens $addtime gespeichert, und dieser Wert könnte eine negative Zahl sein.

Ist dies leicht machbar? Kann jemand helfen?

Danke :)

71voto

Bindiya Patoliya Punkte 2716
$time = '2013-01-22 10:45:45';

echo $time = date("H:i:s",strtotime($time));

Es wird die Zeit geben 10:45:45 von datetime.

6voto

Saad Imran. Punkte 4430
<?PHP

$addhours = 3;

$date = DateTime::createFromFormat('YmdHis', '20110805124000');
$shorttime = $date->format("H:i");
$newdate = $date->add(DateInterval::createFromDateString($addhours . "hours"));
$newtime = $newdate->format("H:i");

echo $shorttime . "<br />";
echo $newtime . "<br />";
?>

zu Ihrer Information:

http://www.php.net/manual/en/datetime.createfromformat.php

http://www.php.net/manual/en/dateinterval.createfromdatestring.php

0voto

Dropdread Punkte 21

Hallo, ich mache es normalerweise so, vielleicht ist es ein bisschen lang, aber es funktioniert für mich...

            $DateIn  = new DateTime($In);
            $DateOut = new DateTime($Out);
            $HourOut = new DateTime($H_Out);   

            $FechaEntrada = $DateIn->format('d-m-Y');
            $FechaSalida  = $DateOut->format('d-m-Y');
            $HoraSalida   = $HourOut->format('H:i a');

der von mir verwendete Leitfaden war der PHP-Leitfaden DateTime::format()

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X