Mostra a quantidade dos dias da semana em intervalo
Publicado por Edmar Wantuil (última atualização em 25/01/2012)
[ Hits: 8.470 ]
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>
video aleatórias no seu site..youtube
Folha de Ponto, com datas móveis como Carnaval Sexta-Feira Santa e Corpus Christi
Gentoo: detectando impressoras de rede e como fixar uma impressora por IP
Como o GNOME conseguiu o feito de ser preterido por outras interfaces gráficas
Gentoo binário em 2026: UEFI, LUKS, Btrfs e Systemd
Trabalhando Nativamente com Logs no Linux
Jogando Daikatana (Steam) com Patch 1.3 via Luxtorpeda no Linux
Por que sua empresa precisa de uma PKI (e como automatizar EMISSÕES de certificados via Web API)
Instalando NoMachine no Gentoo com Systemd (acesso Remoto em LAN)
Gentoo: Trocando wpa_supplicant pelo iwd no NetworkManager (Systemd)
O que houve com slackware ??? (12)
Alterar conteúdo de dica [RESOLVIDO] (3)
Vou destruir sua infância:) (5)









