Datum in Timestamp umrechnen

M3Y3R

Well-known member
ID: 336361
L
8 Mai 2006
1.608
60
Hallo,

ich versuche gerade ein Datum in Timestamp umzurechnen. Nun habe ich auch schon etwas gefunden:

Nur bei mktim() muss man vor dem Datum, die Uhrzeit eingeben und das Datum muss auf englischer Schreibweise eingegeben werden. Gibt es nicht einen befehl der nur die Eingabe des Datums auf deutscher Schreibweise erlaubt?

Also der zum Beispiel die Eingabe 28.08.2006 in ein Timestamp umrechnet und auch wieder so ausgeben kann?


LG Papenburger
 
Oder strtotime, damit kann man mktime() umgehen, aber ob das so viel einfacher wird?
PHP:
$timestamp = strtotime( implode('-', array_reverse( explode('.', $datestring))));
Perverses Stück Code, aber dafür ein Einzeiler. :ugly:
 
Ich zerleg das meistens mit preg_match:
PHP:
preg_match('/^(\d{1,2})\.(\d{1,2})\.(\d{4,4})$/', $deutschesdatum, $result);
$tag = $result[1];
$monat = $result[2];
$jahr = $result[3];
Die Wertebereiche könnte man auch noch prüfen ...
 
Ich zerleg das meistens mit preg_match:
PHP:
preg_match('/^(\d{1,2})\.(\d{1,2})\.(\d{4,4})$/', $deutschesdatum, $result);
$tag = $result[1];
$monat = $result[2];
$jahr = $result[3];
Afaik benötigen RegEx einiges an Serverlast. Da ist es doch unnötig, extra was mit RegEx zu machen, wo es auch ohne geht, oder?
 
Afaik benötigen RegEx einiges an Serverlast. Da ist es doch unnötig, extra was mit RegEx zu machen, wo es auch ohne geht, oder?
Man spart sich dadurch einige Überprüfungen, man muss sehen:
$tag \in [1,30]
$monat \in [1,12]
$jahr \in [1970,2038]

Bei explode kommt auch wieder ein Array raus. Bei strtotime() bin ich mir nicht sicher, es kann aber ein Mist rauskommen.

Vor allem
PHP:
if(!preg_match('/^(\d{1,2})\.(\d{1,2})\.(\d{4,4})$/', $deutschesdatum, $result)) $error='Fehler beim Datum';
ist interessant.
 
Zuletzt bearbeitet: