Programação
Um pouco de programação – Parte1 – Cálculos com dadas em PHP
Out 22nd
É isso aí… Hoje trago algo meio diferente, algo sobre programação.
Desde o dia que comecei a trabalhar na SISTEC como programador,venho me deparando com várias situações que a primeira vista parecem complicadas se serem resolvidos, mas que na verdade não. Basta um pouco de atenção e calma para que a situação esteja resolvida. Procurarei trazer de um pouco daquilo que tem sido minha experiência como programador.

Vou começar a falar de uma função em PHP que permite somar e subtrair um intervalo de tempo, quer seja dia, hora, mês ou mesmo um ano. Função esta que poderá ser muito útil quando estamos a trabalhar com datas.
Na verdade não existe uma função especifica em PHP capaz de fazer isso… mas o programador pode criar a sua própria função e é o que faremos aqui.
Nota: A partir deste momento, estamos assumindo que todas as funções serão guardadas no ficheiro com o nome de: funcoes_php.php
<?php
// Função da adicionar dias na data de Hoje
function adi_dia($dias, $fuso_horario,$formato){
$fuso = 3600*$fuso_horario;
$novo_horario = time() + $fuso + ($dias*24*60*60);
$nova_data = gmdate($formato, $novo_horario);
return $nova_data;
}
?>
Como podemos notar, a nossa função possui 3 parâmetros: $dias, $fuso_horario e $formato. Onde:
$dias = Número de dias ( positivo para adicionar ou negativo para subtrair).
$fuso_horario = Fuso horário (Caso de Angola é +1)
$formato =formao da apresentação da data. Para mais informações visite: http://au2.php.net/manual/pt_BR/function.gmdate.php
A variável $fuso irá guardar o resultado da multiplicação do seu fuso horario por 3600 que equivale a uma hora.
$novo_horario irá guardar o data e hora actual… e $nova_data, com ajuda da função do PHP gmdate, irá transformar a data e hora actual ($novo_horario) numa data normal.
Exemplo de Utilização:
<?php include 'funcoes_php.php'; $dias = 5; // Número de dias a acrescentar $fuso_horario = 1; // 1 para Angola $formato = 'd-m-Y'; // formao da apresentação da data $hoje = adi_dia($dias,$fuso_horario,$formao); // Executando a função echo $hoje; // Imprimindo o resultado ?>
REport ALL Error or Issue

