====== convertDateTime() ======
''mixed **convertDateTime**(mixed //dateTime//, [string //formatDateTime//], [string //formatOutput//])''
The function ''convertDateTime()'' converts a date or a timestamp into a different date or timestamp.
* //dateTime//\\ A Unix timestamp (e.g. ''1418045461'') or a string describing a date and/or a time (e.g. ''8.12.2014 14:31''').
* //formatDateTime// (optional)
* Not specified or ''nil'' -- automatically renders the //dateTime//, as long as the usual date and time notation follows. For example, "1.4.", "4/1/2014", "16:30", "1.4.2014 16:30".
* Definition of format according to procedure in PHP ''[[http://php.net/manual/de/datetime.createfromformat.php|DateTime::createFromFormat()]]'' (e.g. '''d.m.Y H:i''')
* //formatOutput// (optional)
* Not specified or ''nil'' -- returns a Unix timestamp.
* Definition of format according to PHP function ''[[http://php.net/manual/en/function.date.php|date()]]'' (z.B. '''d.m.Y H:i''').
===== Example =====
In the text input "AB01_01", the respondent was asked to give the date and time of when he last watched television. The information should be specified as "hour:minute" (for the current day) or "day.month hour:minute" for previous days.
The following PHP code is put at the very top on the page after question "AB01". If the input cannot be recognized as a valid date/time, the text element "date error" is displayed the and the question shown again using ''[[:en:create:functions:repeatpage|repeatPage()]]''
if (convertDateTime(value('AB01_01')) == false) {
text('dateerror');
repeatPage();
}
Further back in the questionnaire this date should now be displayed in the standardized format "day.month.year hour:minute". The placeholder %date% is used in a question in order to display this. The following PHP code is put above the question (or may already be above).
$input = value('AB01_01');
$output = convertDateTime($input, nil, 'd.m.Y H:i');
replace('%date%', $output);