Zeitunterschied errechnen (Form : 17:46 25-09-2004) mktime() ?

BenoX

Erfahrenes Mitglied
hi,

habe folgendes problem ich möchte ein datum mit dem jetztigen vergleichen.

Das Datum was ich vorgebe sieht z.B. wie folgt aus : 17:46 25-09-2004

wie kann ich den unterschied zwischen diesem datum und den aktuellen datum errechnen?

ich weiss das es mit mktime geht, aber wie kann ich die einzelnen elemente aus dem datum wie z.b. 17 für stunden 46 für minuten etc. extrahieren?

würd mich auf rasche antwort freuen ;)
 
PHP:
$zeit_1 = "17:46 25-09-2004";
$zeit_2 = time();

$explode_1 = explode(" ", $zeit_1);
$explode_2 = explode(":", $explode_1[0]);
$explode_3 = explode("-", $explode_1[1]);

$neue_zeit = mktime ($explode_2[0], $explode_2[1], 0, $explode_3[1], $explode_3[0], $explode_3[2]);

$differenz = $zeit_2 - $neue_zeit;
 
(untested)
PHP:
$datum = '17:46 25-09-2004';
preg_match('/(.*?):(.*?) (.*?)-(.*?)-(.*?)/is', $datum, $match);
$timestamp = mktime($match[1], $match[2], 0, $match[4], $match[3], $match[5]);
 
Worr, wär nie auf die Idee gekommen das mit RegEx zu
machen - mal davon abgesehen dass ich damit noch
immer nicht gut klarkomme :)
 
Folgendes wäre auch möglich:
PHP:
<?php
	$str = '17:46 25-09-2004';
	sscanf($str, '%2d:%2d %2d-%2d-%4d', $stunde, $minute, $tag, $monat, $jahr);
	$unix_timestamp = mktime($stunde, $minute, 0, $monat, $tag, $jahr);
?>
 
Zurück