forked from SimplesIP/pabx-app
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
80 lines
2.1 KiB
80 lines
2.1 KiB
<?php |
|
|
|
function EntraData($data, $formato = 'd/m/Y') { |
|
|
|
$dt = DateTime::createFromFormat($formato, $data); |
|
if (!$dt) { |
|
throw new Exception("A data: $data é inválida!"); |
|
} |
|
|
|
return QuebraData($data, $formato); |
|
} |
|
|
|
function QuebraData($data, $formato = 'd/m/Y H:i:s') { |
|
/* |
|
* Autor: Amarildo Pereira. |
|
* Data: 13/03/2018. |
|
* Retorna a data passado no formato de dara padrao "Y-m-d H:i:s" , baseado no parametro |
|
* de entrada "$formato. |
|
*/ |
|
|
|
/* |
|
* Formato padrao aceito para Y -> ano M -> mes D -> dia H -> hora I -> minuto S -> segundo. |
|
*/ |
|
$posR = array('Y', 'M', 'D', 'H', 'I', 'S'); |
|
|
|
/* |
|
* Separadors para a dta padrão retornada. |
|
*/ |
|
$sepR = array('-', '-', ' ', ':', ':', ''); |
|
|
|
/* |
|
* Convert os dados do parametro "$formato" para maiúsculo para permitir a busca |
|
* da posição correspondente no array "$data". |
|
*/ |
|
$gFormat = preg_split("/[-' ':\/]/", $formato); |
|
array_walk($gFormat, 'Upper'); |
|
|
|
/* |
|
* Cria array a partir do parrametro "$data". |
|
*/ |
|
$data = preg_split('/[-" ":\/]/', trim($data)); |
|
|
|
$dt = ''; |
|
foreach ($posR as $keyR) { |
|
if ((($key = array_search($keyR, $gFormat)) !== false) && isset($data[$key])) { |
|
$dt .= ($data[$key] . $sepR[array_search($keyR, $posR)]); |
|
} |
|
} |
|
|
|
return $dt; |
|
} |
|
|
|
function ValidaData($data, $formato = 'd/m/Y', $message = '') { |
|
/* |
|
* Para utilizar "$message" passe nesse formato: "A data %s é invalida!"; |
|
*/ |
|
try { |
|
$dt = DateTime::createFromFormat($formato, $data); |
|
if (!$dt || ($dt->format($formato) != $data)) { |
|
throw new Exception(); |
|
} |
|
return true; |
|
} catch (Exception $ex) { |
|
|
|
throw new Exception($message ? sprintf($message, $data) : "A data: $data é inválida!"); |
|
} |
|
} |
|
|
|
function FormataData($data, $formato = 'Y-m-d') { |
|
try { |
|
$data = new DateTime($data); |
|
return $data->format($formato); |
|
} catch (Exception $ex) { |
|
throw new Exception("Não foi possível formatar a data: $data!"); |
|
} |
|
} |
|
|
|
function Upper(&$val, $key) { |
|
$val = strtoupper($val); |
|
}
|
|
|