====== 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()]]'' 


<code php>
if (convertDateTime(value('AB01_01')) == false) {
  text('dateerror');
  repeatPage();
}
</code>

This date should be displayed in the standardized format "day.month.year hour:minute" further on in the questionnaire. 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). 

<code php>
$input = value('AB01_01');
$output = convertDateTime($input, nil, 'd.m.Y H:i');
replace('%date%', $output);
</code>