Função em PHP que mostra o número da semana no ano

Publicado por albert guedes em 05/08/2011

[ Hits: 29.008 ]

Blog: https://teko.net.br

 


Função em PHP que mostra o número da semana no ano



Essa é uma função que não se encontra explicitamente pela net. Se você precisa saber o número da semana no ano, use a seguinte função.

function semana_do_ano($dia,$mes,$ano){

$var=intval( date('z', mktime(0,0,0,$mes,$dia,$ano) ) / 7 ) + 1;

return $var;
}

Basta dar o dia, o mês e o ano, que será retornado o número da semana no ano daquele dia do mês.
A função funciona assim: é calculado quantos dias se passaram entre o dia 1 de janeiro do ano até a data fornecida, isso é realizado com o mktime e o date.
Depois, dividimos por 7 para dar o número de semanas contidos nesse tempo. intval retorna o inteiro dessa divisão, e assim, a função retorna o número de semanas que se passaram, ou seja, o número da semana no ano.

Explicando as funções usadas:
mktime ($hora,$minuto,$segundo,$mes,$dia,$ano) : Retorna o timestamp Unix correspondente para os argumentos dados. Este timestamp é um longo inteiro contendo o número de segundos entre a Era Unix (January 1 1970 00:00:00 GMT) e o tempo especificado. Argumentos podem ser omitidos da direita para esquerda; quaisquer argumentos assim omitidos serão definidos para o valor atual de acordo com a data e a hora local.

date ($formato,$timestamp) : Retorna uma string formatada de acordo com a string '$formato' dada usando o inteiro '$timestamp' dado ou a hora atual se nenhum timestamp é dado. Em outras palavras, timestamp é opcional e o padrão é o valor da função 'time()'.

intval ($var) : Retorna o valor inteiro de '$var', usando a base especificada para a conversão (o padrão é a base 10).

Referências: http://php.net

Outras dicas deste autor

Bash: Não use if

Como ver a saída de qualquer comando MySQL no PHP

Resolvendo problema de atualização do Eclipse no Debian Squeeze

Mostrar as tabelas de um banco de dados no PostgreSQL usando PHP

Importando emails do Thunderbird para Icedove e vice-versa

Leitura recomendada

Framework CakePHP - Novo site em português

Impressão remota usando impressora matricial

Setar timezone no PHP

Cursos gratuitos de Joomla e PHP

Novo componente para backup de site Joomla com simplicidade

  

Comentários
[1] Comentário enviado por Scoup em 05/08/2011 - 23:03h

Você pode usar o parametro "W" do date que faz exatamente isso.

Exemplo: date("W", strtotime("05/01/2011")); sendo que o date é no formato mes/dia/ano

Fonte: http://www.php.net/manual/en/function.date.php

[2] Comentário enviado por albertguedes em 06/08/2011 - 00:56h

Vale pelo complemento Scoup.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts