====== convertDateTime() ====== ''mixed **convertDateTime**(mixed //Zeitangabe//, [string //FormatZeitangabe//], [string //FormatAusgabe//])'' Die Funktion ''convertDateTime()'' konvertiert eine Zeitangabe oder einen Zeitstempel in eine andere Zeitangabe oder einen Zeitstempel. * //Zeitangabe//\\ Ein Unix-Zeitstempel (z.B. ''1418045461'') oder ein String, der ein Datum und/oder eine Uhrzeit beschreibt (z.B. '''8.12.2014 14:31'''). * //FormatZeitangabe// (optional) * Keine Angabe bzw. ''null'' -- Automatische Interpretation der //Zeitangabe//, sofern diese üblichen Zeit-Datums-Schreibweisen folgt, z.B. "1.4.", "4/1/2014", "16:30", "1.4.2014 16:30". * Eine Format-Definition entsprechend der PHP-Methode ''[[http://php.net/manual/de/datetime.createfromformat.php|DateTime::createFromFormat()]]'' (z.B. '''d.m.Y H:i'''). * //FormatAusgabe// (optional) * Keine Angabe bzw. ''null'' -- Es wird ein Unix-Zeitstempel zurückgegeben. * Eine Format-Definition entsprechend der PHP-Funktion ''[[http://php.net/manual/de/function.date.php|date()]]'' (z.B. '''d.m.Y H:i'''). ===== Beispiel ===== Der Befragte wurde in der offenen Texteingabe "AB01_01" um eine Datums- und Zeitangabe gebeten, wann er zuletzt ferngesehen hat. Diese Angabe sollte nach der Vorgabe "Stunde:Minute" (für den aktuellen Tag) oder "Tag.Monat Stunde:Minute" für frühere Tage erfolgen. Der folgende PHP-Code wird auf der Seite nach Frage "AB01" ganz oben platziert. Falls die Eingabe nicht als gültige Datums-Zeit-Angabe interpretiert werden konnte, wird der Textbaustein "datum-fehler" angezeigt und die Frage mittels ''[[:de:create:functions:repeatpage|repeatPage()]]'' erneut angezeigt. if (convertDateTime(value('AB01_01')) == false) { text('datum-fehler'); repeatPage(); } Weiter hinten im Fragebogen soll dieses Datum nun im standardisierten Format "Tag.Monat.Jahr Stunde:Minute" angezeigt werden. Für die Anzeige wird in einer Frage der Platzhalter %datum% verwendet. Der folgende PHP-Code wird über der Frage (oder auch schon weiter vorne) platziert. $eingabe = value('AB01_01'); $ausgabe = convertDateTime($eingabe, null, 'd.m.Y H:i'); replace('%datum%', $ausgabe);