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

Publicado por albert guedes em 05/08/2011

[ Hits: 28.285 ]

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

Separar palavras de uma string no PHP

Mostrar os campos de uma tabela do PostgreSQL com PHP

Transparências em menus e bordas de janelas no Gnome

Resolvendo problema de conexão do Skype Beta no Debian

Mantenha o "ls" sempre colorido

Leitura recomendada

Funções PHP com variáveis padrões

Novo componente para backup de site Joomla com simplicidade

PHP na linha de comando no Debian

Ícones livres para sistemas web

Testes Unitários - Um olhar para a qualidade de nossos testes

  

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