Criando uma classe comum para seu projeto - P2
Monday, November 17, 2008 9:46:16 AM
Começaremos esta semana com a continuação da nossa classe comum. Hoje incluiremos mais um método que será para calcular a diferença entre duas datas.
Começando:
Bom o método em sí é realmente simples, você envia duas datas e ele te retorna a diferença em dias entre elas.
Por motivos de facilitar as entradas das datas deverão ser feitas no formato yyyy-mm-dd, para evitar trabalho para converter a data digitada pelo usuário neste formato, aconselho vocês a utilizar também a classe de conversão de datas que pode ser encontrada aqui.
O método:
function dateDiff($dateIni,$dateEnd)
{
$di1 = strtotime($dateIni);
$di = mktime(0,0,0,date('m',$di1),date('d',$di1),date('Y',$di1));
$df1 = strtotime($dateEnd);
$df = mktime(0,0,0,date('m',$df1),date('d',$df1),date('Y',$df1));
$dias_totais = floor(($df-$di)/86400);
return $dias_totais+1;
}
Acho que o código é bem simples:
Você entra com as duas datas, ele subtrai uma da outra e soma 1.
Mas porque 1, bom supondo que você quer subtrair a data 2008-11-15 até 2008-11-17.
17-15 = 2 só que tem que contar com a data inicial sendo o primeiro dia, então somamos 1 ao valor final.
Até o momento nossa classe comum ficou assim:
<?php
class commons{
function prepare($sql){
return mysql_real_escape_string($sql);
}
function dateDiff($dateIni,$dateEnd)
{
$di1 = strtotime($dateIni);
$di = mktime(0,0,0,date('m',$di1),date('d',$di1),date('Y',$di1));
$df1 = strtotime($dateEnd);
$df = mktime(0,0,0,date('m',$df1),date('d',$df1),date('Y',$df1));
$dias_totais = floor(($df-$di)/86400);
return $dias_totais+1;
}
}
?>
Amanhã colocarei um método para verificar campos obrigatórios server-side em um formulário.
Comentem e até o próximo post!











