Seite 1 von 1

Anfänger - Datum umkonvertieren

Verfasst: 08.02.2010 18:05
von MrGain
Hallo,

bin Anfänger und habe gerade einen Hänger:

FOlgendes Problem:


Habe eine Tabelle erstellt mit einem TimeDate Format.


In einem PHP Formular habe ich jedoch die Zeit + Date in einzelne Felder gepackt. Wie kann ich aus dem PHP Formular das Datum und die Zeit in das richtige Format umkonvertieren:

0000-MM-DD HH:MM:SS

Es soll zum einen geprüft werden, dass das Datum richtig eingegeben ist und zum anderen sollen halt die beiden Tabelleneinträge ins TimeDate Format umgewandelt werden.

Habe folgende Funktion, welche jedoch nicht funktioniert:

=============================

Code: Alles auswählen

function pruef_php_date($PHPDATE) 
{ /* Pruefen und Umwandeln eines Datum im Format 01.12.2002 */
if ( strlen($PHPDATE) >= 8 )
{
if ( $PHPDATE[1] == "." )
{ /* Tag wird nur einstellig dargestellt, fuehrende Null fehlt */
$PHPDATE = strrev($PHPDATE)."0";
$PHPDATE = strrev($PHPDATE);
}
if ( $PHPDATE[4] == "." )
{ /* Monat wird nur einstellig dargestellt, fuehrende Null fehlt */
$PHPTMP = "0".substr($PHPDATE, 3, 6);
$PHPDATE = substr($PHPDATE, 0,3).$PHPTMP;
}
if ( strlen( $PHPDATE ) == 8 and $PHPDATE[1] != "." and $PHPDATE[4] != "." )
{ /* Eingabe ohne Punkte */
$PHPTMP = ".".substr($PHPDATE, 4, 4);
$PHPTMP1 = ".".substr($PHPDATE, 2, 2);
$PHPDATE = substr($PHPDATE, 0,2).$PHPTMP1.$PHPTMP;
}
if ( strlen( $PHPDATE ) < 9 )
{ /* Jahr wir nicht 4stellig eingegeben */
Error_Msg( "Fehler 1: Datum hat ein falsches Format: ".$PHPDATE." Bitte geben Sie das Datum in der Form tt.mm.jjjj ein!" );
}
}
else
Error_Msg( "Fehler 2: Das Datum hat ein falsches Format: ".$PHPDATE." Bitte geben Sie das Datum in der Form tt.mm.jjjj ein!" );
return $PHPDATE;
}
===============================


Wo genau baue ist das denn dann ein?

Code: Alles auswählen

if ($aktion == "Speichern")
{
  include("../../standard.php");
  pruef_php_date($datum_von);
  pruef_php_date($datum_bis);
so??


Viele Grüße :)

Re: Anfänger - Datum umkonvertieren

Verfasst: 08.02.2010 19:39
von bantu
Formatiere in deinem Beitrag doch bitte Code mit dem [code][/code]-Tag oder dem [code=php][/code]-Tag.

Re: Anfänger - Datum umkonvertieren

Verfasst: 08.02.2010 21:25
von Pyramide
Du könntest z.B. strptime verwenden oder einen regulären Ausdruck:

Code: Alles auswählen

$str = '08.02.2010 21:30';
if(preg_match('#(\d{1,2}).(\d{1,2}).(\d{4}) (\d{1,2}):(\d{2})#', $str, $m) {
  //Datum gültig; Tag ist in $m[1], Monat in $m[2] usw.
}
else {
  //Datum ungültig
}