====== 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);