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

Publicado por albert guedes em 05/08/2011

[ Hits: 20.354 ]

Blog: http://www.socrates.if.usp.br/~arcguede

 


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

Como gravar partes de um vídeo com o mencoder

Imprima textos inteiros com o comando "echo"

Programa exemplo em Assembler para Linux

Assistam vídeos remotamente com SSH e Mplayer

Twitter no pidgin

Leitura recomendada

Project Euler

Ubuntu 10.04: Interpretação de arquivos PHP nas pastas pessoais

Como executar PHP no Windows

PHPClasses.org

Problemas com a tradução no Drupal (CMS)

  

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
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts