Hallo zusammen
ich habe meine Homepage hinterbachsuerpfler.de auf die neueste Admidio Version upgedated.
Jetzt habe ich das Problem das ich Termine auch auf anderen seiten ausgebe.
leider funktioniert das mit mysldatetime nicht mehr
Call to undefined function mysqldatetime() in .....
hat hier jemand ein Lösung?
mfg momo
mysql datetime
-
- Former team member
- Beiträge: 1087
- Registriert: 2. Sep 2007, 17:12
- Wohnort: Itzstedt
- Kontaktdaten:
-
- Former team member
- Beiträge: 1087
- Registriert: 2. Sep 2007, 17:12
- Wohnort: Itzstedt
- Kontaktdaten:
Achso, jetzt weiss ich was Du meinst!
Die Funktion mysqldatetime() ist in der Admidio Version 2.1.x zum Einsatz gekommen und steht in der neuen version nicht mehr zur Verfügung. Warum? Ist ganz einfach, in den Oragnisationseinstellungen hat man nun die Möglichkeit das Datums und Zeitformat selbst zu ändern / anzupassen. Mit $g_preferences['system_time'] kann man das Zeitformat und mit $g_preferences['system_date'] das Datumsformat auslesen und damit den in der Datenbank abgelegten Zeitstempel formatieren.
Dafür ist es notwendig ein Objekt anzulegen, das man dann formatieren kann. Ein kurzes Besipeil verdeutlicht das vielleicht:
Du kannst natürlich die alte Funktion wieder einführen, wenn Du das eingestellte Datumsformat aus den Organisationseinstellungen ignorieren willst / kannst. Dazu einfach in die Datei adm_program/system/function.php den Sourcecode einfügen (ungetestet, das ist ganz platt die alte Funktion!):
Ich hoffe nun sind alle Fragen beantwortet....
Die Funktion mysqldatetime() ist in der Admidio Version 2.1.x zum Einsatz gekommen und steht in der neuen version nicht mehr zur Verfügung. Warum? Ist ganz einfach, in den Oragnisationseinstellungen hat man nun die Möglichkeit das Datums und Zeitformat selbst zu ändern / anzupassen. Mit $g_preferences['system_time'] kann man das Zeitformat und mit $g_preferences['system_date'] das Datumsformat auslesen und damit den in der Datenbank abgelegten Zeitstempel formatieren.
Dafür ist es notwendig ein Objekt anzulegen, das man dann formatieren kann. Ein kurzes Besipeil verdeutlicht das vielleicht:
Code: Alles auswählen
// Objekt mit Inhalt aus der Datenbank anlegen
$startDate = new DateTimeExtended($row['dat_begin'], 'Y-m-d H:i:s');
// Formatiert ausgeben
echo $startDate->format($g_preferences['system_date'].' '.$g_preferences['system_time']);
Code: Alles auswählen
// wandelt ein DateTime-Feld einer MySql-Datenbank in einen beliebigen String um
// Folgende Zeichen des Strings werden ersetzt:
// y = Jahr; m = Monat; d = Tag; h = Stunde; i = Minute; s = Sekunde
//
// Bsp: MySql-Datenfeld "2001-05-11 15:30:15"
// Übergabe "h:i d.m.y"
// Rückgabe "15:30 11.05.2001"
function mysqldatetime($dateFormat, $dateTime)
{
$destStr = "";
$dateArray = split("[- :]", $dateTime);
if($dateTime != NULL)
{
if($dateArray[0] == "0000")
{
// wenn das Jahr 0 ist, dann ist das Feld nicht gefüllt
$destStr = "";
}
else
{
for($i = 0; $i < strlen($dateFormat); $i++)
{
switch($dateFormat[$i])
{
case 'y':
$destStr = $destStr. $dateArray[0];
break;
case 'm':
$destStr = $destStr. $dateArray[1];
break;
case 'd':
$destStr = $destStr. $dateArray[2];
break;
case 'h':
$destStr = $destStr. $dateArray[3];
break;
case 'i':
$destStr = $destStr. $dateArray[4];
break;
case 's':
$destStr = $destStr. $dateArray[5];
break;
case ' ':
$destStr = $destStr. " ";
break;
default:
$destStr = $destStr. $dateFormat[$i];
break;
}
}
}
}
return $destStr;
}