Linux slogan
Visite também: BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: Ubuntu 6.06 + XGL
Por jova2
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha


Dica

Função em PHP que mostra o número da semana no ano
Linux user
Publicado por albert guedes em 05/08/2011

Login: albertguedes, 754174 pontos | Blog: http://www.socrates.if.usp.br/~arcguede
[ Hits: 3743 ]

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

Leitura recomendada
   Dica Linux recomendada Bug do PHP
   Dica Linux recomendada PHP na linha de comando no Debian
   Dica Linux recomendada PHP na linha de comando
   Dica Linux recomendada Tutorial ensinando a criar portais com o Joomla 1.6
   Dica Linux recomendada Sites para todas as linguagens

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


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.