Datetime in timestamp mit php
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
beitrag
date
doppelpunkt
eintrag
ergebnis
folgende daten
format
geschweiften klammer
jahr
klammern
lag
minute
quelltext
sekunde
software
stehen
string
umwandlung
vielen dank
ziffer
-
Hallo,
mich interessiert schon l?nger, ob ich ein Datum in folgendem Format 01.01.2005, 14:59 es wieder in einen Timestamp zur?ckverwandeln kann. Also nicht
sondern sozusagen das Inverse davon.date("d.m.Y, H:i")
Vielen Dank Mfg -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hi,
Hab nur eine Funktion gefunden, die zwar die Umwandlung vornimmt, aber in einem anderen Format:
$mk = mktime(1,2,3,12,31,2005); echo $mk;
Format: Stunde, Minute, Sekunde, Monat, Tag, Jahr
Hoffe dir damit ein bisschen weitergeholfen zu haben.
So weit ich wei? kann man dein Format in das Ben?tigte umwandeln.
LG,
nwo -
Hi dathneo!
Ein Versuch, den String weitestgehend fehlertolerant umzuwandeln:
// 'd.m.Y, H:i';
$date = '31.02.2001, 11:55';
preg_match(
'/\A\s*(\d{1,2})\.(\d{1,2})\.(\d{4})\s*,\s*(\d{1,2})\s*\:\s*(\d{2})\s*\Z/',
$date,
$rx_matches
);
$rx_matches enth?lt dann folgende Daten:
[0] => '31.02.2001, 11:55'
[1] => '31'
[2] => '02'
[3] => '2001'
[4] => '11'
[5] => '55'
Mit mktime() kannst du die dann zusammenkleben:
$time_stamp = mktime(
intval($rx_matches[4]),
intval($rx_matches[5]),
0,
intval($rx_matches[1]),
intval($rx_matches[2]),
intval($rx_matches[3])
)
MfG
alopex -
Danke f?r die Antworten.
preg_match( '/\A\s*(\d{1,2})\.(\d{1,2})\.(\d{4})\s*,\s*(\d{1,2})\s*\:\s*(\d{2})\s*\Z/', $date, $rx_matches );(
hab ich leider, obwohl ich schon etwas l?nger in php programmiere immernochnicht kapiert...
Aber danke f?r die L?sung -
Danke f?r die Antworten.
preg_match( '/\A\s*(\d{1,2})\.(\d{1,2})\.(\d{4})\s*,\s*(\d{1,2})\s*\:\s*(\d{2})\s*\Z/', $date, $rx_matches );(
hab ich leider, obwohl ich schon etwas l?nger in php programmiere immernochnicht kapiert...
Aber danke f?r die L?sung
auch wenn ich dazu nix mehr zu sagen hab, da meine l?sung wesentlich komplizierter ist, habe ich auch bei mehr als 4 jahren php programmierung das preg_match auch noch nich kapiert....
mfg -
An alle preg_match()-Geplagten!^^
Erstmal ist der oben von mir angef?hrte Regul?re Ausdruck falsch. Das lag zwar nicht an mir, sondern an der Forums-Formatier-Software (lordoflima hilf!). Es wurden n?mlich die jeweils ersten geschweiften Klammern verschluckt. Mal sehen, ob es jetzt besser aussieht:
// 'd.m.Y, H:i';
$date = '31.02.2001, 11:55';
preg_match(
'/\A\s*(\d{1,2})\.(\d{1,2})\.(\d{4})\s*,\s*(\d{1,2})\s*\:\s*(\d{2})\s*\Z/',
$date,
$rx_matches
);
Und da ich jetzt mal kurz wegmuss, kommt eine Erkl?rung, was der RegEx eigentlich macht, etwas sp?ter.
*nachtr?glich_einf?g* (2005-07-08)
Offensichtlich gibt es ein Problem mit der ?ffnenden geschweiften Klammer. Wer also den Quelltext richtig sehen will, sollte mal auf den "Zitiern"-Button dr?cken und so nachschauen.
Der RegExp mal kurz erkl?rt:
\s+ ein oder mehrere Leerzeichen ("whitespaces")
\s* kein oder mehrere Leerzeichen
\d Ziffer
\d{1,2} Zahl mit einer oder zwei Ziffern
\d{4} Zahl mit vier Ziffern
\A Anfang des Strings
\Z Ende des Strings
\. ein Punkt
\: ein Doppelpunkt
Mit den normalen Klammern () werden Teilausdr?cke selektiert, diese stehen dann im Ergebnis-Array $rx_matches, wenn sie gefunden wurden. Der Index des Ergebnisarray-Eintrages gibt an, zur wievielten ?ffnenden Klammer er geh?rt.
MfG
alopex
Beitrag ge?ndert am 8.07.2005 20:38 von alopex -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage