Files
DomFramework/convert.php
2017-04-13 12:14:17 +00:00

44 lines
1.5 KiB
PHP

<?php
/** DomFramework
@package domframework
@author Dominique Fournier <dominique@fournier38.fr> */
/** Convert a format to another one
*/
class convert
{
/** Convert Date received in one format to another.
* If the provided string is not corresponding to the format, don't change
* anything.
* Format used http://php.net/manual/en/datetime.createfromformat.php
* Do not accept the locale ! The language of the dates is always in english
* @param string $inputDate The date to modify
* @param string $inputFormat The input format of the date
* @param string $outputFormat The output format of the date
* @param bool|null $exception If set, generate an exception if the provided
* date is invalid
* @return string
*/
public static function convertDate ($inputDate, $inputFormat, $outputFormat,
$exception = false)
{
$date = \DateTime::CreateFromFormat ($inputFormat, $inputDate);
if ($date === false)
{
if ($exception !== false)
throw new \Exception (
"Invalid date provided or not matching the format", 500);
return $inputDate;
}
$errors = $date->getLastErrors();
if ($errors["warning_count"] > 0 || $errors["error_count"] > 0)
{
if ($exception !== false)
throw new \Exception (
"Invalid date provided or not matching the format", 500);
return $inputDate;
}
return $date->format ($outputFormat);
}
}