GameZer Online


Você não está conectado. Conecte-se ou registre-se

Ver o tópico anterior Ver o tópico seguinte Ir para baixo  Mensagem [Página 1 de 1]

1Usando horas com php Empty Usando horas com php Sex Dez 07, 2012 8:14 pm

RafsEstevam

RafsEstevam
Programador
Programador
PHP nos fornece uma série de funções relacionadas a data e hora. Nesta lição veremos a mais importante destas funções; a função date.

Usando-se os diferentes parâmetros previstos para a função date ela retornará o grupo data/hora em diferentes formatos. Os parâmetros mais usuais são:

date("y")
Retorna o ano atual - para o dia de hoje o valor retornado é: 12
date("m")
Retorna o mês atual - para o dia de hoje o valor retornado é: 12
date("F")
Retorna o nome do mês atual - para o dia de hoje o valor retornado é: December
date("d")
Retorna o dia do mês atual - para o dia de hoje o valor retornado é: 08
date("l")
Retorna o nome do dia da semana atual - para o dia de hoje o valor retornado é: Saturday
date("w")
Retorna o número correspondente ao dia da semana atual - para o dia de hoje o valor retornado é: 6
date("H")
Retorna a hora atual - para o dia de hoje o valor retornado é: 02
date("i")
Retorna o minuto atual - para o dia de hoje o valor retornado é: 12
date("s")
Retorna o segundo atual - para o dia de hoje o valor retornado é: 14
O exemplo a seguir ilustra o uso da função date


Código:
<html>
   <head>
   <title>Grupo data/hora</title>

   </head>
   <body>

   <?php
   
   echo "<p>Hoje é " . date("l") . "</p>";

   ?>
   
   </body>
   </html>


Ver o resultado do exemplo
A hora é: 1354929134

Ops... aqui parece coisa para nerds. A função time() retorna a hora atual em número de segundos contados desde 1 de janeiro de 1970 às 12:00 PM, GMT.


Código:
<html>
   <head>
   <title>Grupo data/hora</title>
   </head>
   <body>

   <?php 

   echo "<p>São decorridos exatamente " . time() . " segundos desde 1 de janeiro de 1970, 12:00 PM, GMT </ p> ";

   ?>

   </body>
   </html>


Ver o resultado do exemplo
A representação da hora em segundos, contados desde 1 de janeiro de 1970 às 12:00 PM, GMT é chamada "timestamp" (UNIX timestamp) que é uma representação muito útil quando se trabalha com datas/horas passadas e futuras.

Por padrão, a função date usa o timestamp atual (isto é, o valor corrente de time()). Mas, usando um parâmetro você pode especificar o retorno da função em um diferente time stamp e assim trabalhar com datas passadas e futuras. No exemplo a seguir nós definimos o timestamp para 0 segundos a partir de 1 de janeiro de 1970 às 12:00 PM, GMT. Fazendo assim podemos verificar qual foi o dia da semana de 1 de janeiro de 1970.


Código:
<html>
   <head>
   <title>Grupo data/hora</title>
   </head>
   <body>

   <?php
   
   echo "<p>O dia da semana em 1 de janeiro de 1970 foi  " . date("l",0) . "</p>";

   ?>

   </body>
   </html>


Ver o resultado do exemplo
A menos que você seja um gênio da matemática é muito complicado calcular o número de segundos passados desde de 1 de janeiro de 1970 para uma determinada data. Felizmente existe uma função chamada mktime que realiza o cálculo.

A sintaxe para a função mktime é (hora, minuto, segundo, mês, dia, ano). O exemplo a seguir faz a conversão para a data da chegada do homem à lua (21 de julho de 1969 às 02:56):


Código:
<html>
   <head>
   <title>Grupo data/hora</title>
   </head>
   <body>

   <?php 
   
   echo mktime (2,56,0,7,21,1969);

   ?>

   </body>
   </html>


Ver o resultado do exemplo
Notar que o retorno foi um número negativo. Isto indica que a data é anterior a 1 de janeiro de 1970.

Agora já podemos no valer do que até aqui aprendemos e usar a função date para saber qual foi o dia da semana em que ocorreu o evento histórico da chegada do homem à lua.


Código:
<html>
   <head>
   <title>Grupo data/hora</title>
   </head>
   <body>

   <?php
   
   echo date("l", mktime(2,56,0,7,21,1969));
   
   ?>
   
   </body>
   </html>
   

Ver o resultado do exemplo
Mas afinal qual a utilidade prática?

Até agora tudo parece muito teórico. Afinal de que maneira posso usar uma do tipo time() de uma forma prática? Ao aprender algo novo é importante saber se você poderá usar o que aprendeu em uma página web.

Considere que o que você aprende neste tutorial é a construção de blocos de códigos - o que você pode fazer com eles depende somente da sua criatividade e está limitado apenas pela sua imaginação! Eu ousaria afirmar que você já aprendeu muito mais do que está pensando. Por exemplo: você acha que é capaz de criar um background para uma página que mude a cada dia da semana e funcione em todos os navegadores?

Claro que você é capaz! Observe o exemplo a seguir:


Código:
<html>
   <head>
   <title>Grupo data/hora</title>
   </head>

   <body background="background_<?php echo date("w"); ?>.png">

   </body>
   </html>


Ver o resultado do exemplo
O exemplo mostrado, que usa uma imagem de fundo dinâmica, requer que você construa apenas sete imagens e as nomeie como background_1.png, background_2.png, background_3.png, etc.

Se o usuário entra no seu site na terça feira a imagem de fundo será background_2.png e no dia seguinte será background_3.png. Fácil e simples!

Na próxima lição estudaremos os blocos de código destinados a construção de loops e aqueles destinados a repetição de código.

PHP é legal. Você não acha?

2Usando horas com php Empty Re: Usando horas com php Sex Dez 07, 2012 8:18 pm

Quakeline

Quakeline
Olá,

Estarei aprendendo muito com este tópico seu bom seu o Básico de PHP mais com este tópico vou descobrir não só usar horas com PHP mais pegando as funções destes códigos e transformar em outras coisas

Até

Ver o tópico anterior Ver o tópico seguinte Ir para o topo  Mensagem [Página 1 de 1]

Permissões neste sub-fórum
Não podes responder a tópicos