Mostra a quantidade dos dias da semana em intervalo
Publicado por Edmar Wantuil (última atualização em 25/01/2012)
[ Hits: 8.402 ]
Homepage: wantuil.com
Boa tarde acabei de escrever esse código, que irá me ajudar em um cálculo estatístico. Espero que possa ajuda a outras pessoas também.
Esse código exibi a quantidade de cada dia da semana em um intervalo. Por exemplo:
Se digitarmos 01/01/2012 a 31/12/2012 ele exibirá:
Dia Quantidade
Domingo 53
Segunda-Feira 53
Terça-Feira 52
Quarta-Feira 52
Quinta-Feira 52
Sexta-Feira 52
Sábado 52
Sei que é bem simples mas pode ser útil de várias formas :-).
Estou totalmente aberto a críticas amigos, sei que com elas poderei evoluir.
<?
//Retona a data em linux
function data_unix($data)
{
$data= split("/", $data);
return mktime(0,0,0,$data[1],$data[0],$data[2]);
}
//Adiciona um dia a data
function somadia($data)
{
$data= split("/", $data);
return date("d/m/Y",mktime(0,0,0,$data[1],$data[0] + 1,$data[2]));
}
//Retorna o numero do dia da semana
function dia_semana($data)
{
$dia= date("w", data_unix($data));
return $dia;
}
?>
<html>
<head>
<title>Dias semana</title>
<meta http-equiv="Content-Type"
content ="text/html; charset=UTF-8"
/>
<script language="JavaScript">
function valData(e,campo)
{
var tecla=(window.event)?event.keyCode:e.which;
if( (tecla > 47)
&& (tecla < 58)
)
{
mascara(campo, '##/##/####');
return true;
}
else
{
if (tecla != 8 )
return false;
else
return true;
}
}
function mascara(campo, mascara)
{
var i = campo.value.length;
var saida= mascara.substring(1,2);
var texto= mascara.substring(i);
if (texto.substring(0,1) != saida)
campo.value += texto.substring(0,1);
}
</script>
</head>
<body>
<form method="GET"
action="index.php"
>
<b>Inicio:</b>
<input type = 'text'
name = 'inicio'
size = '10'
maxlength = '10'
onkeypress= 'return valData(event,this);return false;'
>
<b>Fim:</b>
<input type = 'text'
name = 'fim'
size = '10'
maxlength = '10'
onkeypress= 'return valData(event,this);return false;'
>
<input type ="submit"
value="Calcular"
>
</form>
<?
//verifica se foi informado algo
if($_GET['inicio'] || $_GET['fim'])
{
$inicio = $_GET['inicio'];
$fim = $_GET['fim'];
$semana[0]['nome'] = "Domingo";
$semana[0]['quatidade']= 0;
$semana[1]['nome'] = "Segunda-Feira";
$semana[1]['quatidade']= 0;
$semana[2]['nome'] = "Terça-Feira";
$semana[2]['quatidade']= 0;
$semana[3]['nome'] = "Quarta-Feira";
$semana[3]['quatidade']= 0;
$semana[4]['nome'] = "Quinta-Feira";
$semana[4]['quatidade']= 0;
$semana[5]['nome'] = "Sexta-Feira";
$semana[5]['quatidade']= 0;
$semana[6]['nome'] = "Sábado";
$semana[6]['quatidade']= 0;
?>
<table border='1'>
<tr>
<td>Dia</td>
<td>Quatidade</td>
</tr>
<?
$data= $inicio;
while(data_unix($fim) >= data_unix($data))
{
//busca o dia da semana
$temp= dia_semana($data);
//incrementa um dia ao dia da semana
$semana[$temp]['quatidade']++;
//incrementa um dia a data
$data= somadia($data);
}
$cont= 0;
//exibi resultado
while(sizeof($semana) > $cont)
{
echo "
<tr>
<td>".$semana[$cont]['nome']."</td>
<td>".$semana[$cont]['quatidade']."</td>
</tr>
";
$cont++;
}
?>
</table>
<?
}
?>
</body>
</html>
Menu Dinamico (PHP + MySQL) - 5 niveis
Receber atualização de encomendas do correios em seu e-mail
Menu restrito com permissões de navegação
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Instalando partes faltantes do Plasma 6
Adicionar botão "mostrar área de trabalho" no Zorin OS
Como montar um servidor de backup no linux
Estou tentando ser legalista, mas tá complicado! (9)
espelhar monitores nao funciona (2)
SQLITE não quer funcionar no LINUX LMDE6 64 com Lazaruz 4.2 64bit (n... (1)









