Rechnen mit Datums- und Zeitwerten

DexterN

Mitglied
Nabend allerseits..

Frage:

ist es möglich mit mit Daten und Zeiten die im Format 0000-00-00, 00:00:00 bzw. 0000-00-00 00:00:00 sind zu rechnen bzw. vergleiche anzustellen (< <= => >) ohne die Sonderzeichen entfehrnen zu müssen..?

thx 4 Help

cu DexterN
 
du müßtest diese Daten umwandeln und in mktime() setzen, wo du dann deine Bereechnungen machen kannst und später wieder mit date() zusammensetzt.
 
Und hier auch gleich ein Beispiel:

PHP:
<?php
$date = "2003-03-05 09:30:56";
$year = substr($date, 0, 4);
$month = substr($date, 5, 2);
$day = substr($date, 8, 2);
$hour = substr($date, 11, 2);
$minute = substr($date, 14, 2);
$second = substr($date, 17, 2);

$timestamp = mktime($hour, $minute, $second, $month, $day, $year);
?>

Dann könntest du mit dem Timestamp die Berechnungen durchführen.
Das müsste dann natürlich auch noch mit dem anderen Datum gemacht werden.
Anschließend soll das Datum ja wieder im normalen Format vorhanden sein.
Deshalb folgender Code:

<?php
newdate = date("Y-m-d H:i:s", $timestamp);
?>

Es ist vielleicht etwas umständlich, aber das lässt sich glaub' ich nicht ändern.
Vielleicht wäre ja ein Vergleich auf Bit-Ebene möglich, aber ich find das überschaubarer.
 
Es kommt jetzt auch noch drauf an woher die Daten kommen. Wenn du diese Zeitangaben aus einer Datenbank bekommst, kannst du direkt über SQL Berechnungen damit anfangen.

Ansonsten zu dem Beispiel. Wenn es sichergestellt ist, dass du die Zeitangaben immer genau in diesem Format bekommst kannst du auch mit dem strtotime(); arbeiten um nicht alles einzeln auseinandernehmen zu müssen.
 
Hmm,

Im PEAR Archiv kannst du hier eine Klasse zur Datumsbearbeitung und Berechnung finden. Die Klasse an sich ist auch relativ gut dokumentiert (im Quelltext mal bei den einzelnen Methoden schauen).

Man muss einfach ein Datums Objekt ableiten, wobei man auch verschiedene Eingabe Formate für das Datum angeben kann. Default ist allerdings YYYY-MM-DD HH:MM:SS

PHP:
<?php
require_once(Date.php);

$date =& new Date($datum);
?>

Die Klasse bietet viele Funktionen wie zum Beispiel Date::subtractSpan(); oder Date::addSpan();

Einfach mal anschauen.

Ciao, Jörg Stöber
 
gut danke..

..wie ich so raus gelesen hab ist es also nicht möglich ohne die sonderzeichen zu enfehrne (auf welchem weg auch immer)..

alos danke jungs/mädels für euere hilfe ;)

cu DexterN
 
Zurück