Mostra a quantidade dos dias da semana em intervalo
Publicado por Edmar Wantuil (última atualização em 25/01/2012)
[ Hits: 8.432 ]
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>
Install PHP8, 8.2, 8.3 no Deepin 23
Monitoramento de Temperatura do Servidor
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
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
Como impedir exclusão de arquivos por outros usuários no (Linux)
Cirurgia no Linux Mint em HD Externo via USB
Anúncio do meu script de Pós-Instalação do Ubuntu
Alguém executou um rm e quase mata a Pixar! (0)
Por que passar nas disciplinas da faculdade é ruim e ser reprovado é b... (6)
Alguém pode me indicar um designer freelancer? [RESOLVIDO] (3)









