A maioria dos sistemas utilizam datas para controlar seu funcionamento, ou ainda, para cadastros, etc. A linguagem PHP não poderia ser diferente, também possui um vasto suporte à manipulação de datas, bem como os procedimentos de tempo.
A linguagem PHP se baseia no UNIX CURRENT_TIMESTAMP, que é gerado em segundos.
Mas o que é o UNIX CURRENT_TIMESTAMP?
É uma forma de controlar o tempo total de execução em segundos. A contagem iniciou-se em 1º de janeiro de 1970. Portanto, o time Unix é apenas o intervalo do número de segundos entre duas datas. Isto é muito utilizado nos sistemas atuais para acompanhamento e tratamento de informação datadas em aplicações dinâmicas e distribuídas em linha de tempo, fornecendo maior confiabilidade ao cliente.
Em 19 de janeiro de 2038 irá terminar o suporte ao timestamp em processadores 32-bit, devido a um estouro no cálculo. Antes disso, milhares de aplicações irão necessitar adotar um novo sistema, ou ser migrados para sistemas de 64bits, que suportarão maior timestamp.
Mas enquanto isso, vamos utilizando. E quando for necessário, passaremos nossas máquinas para 64bits.
Para os cálculos, bem como a diferenças, são utilizadas as medidas em segundos. Antes de tudo vamos a uma breve revisão:
- SEGUNDO: 1000 milésimos;
- MINUTO: 60 segundos;
- HORA: 60 minutos;
- DIA: 24 horas;
- MÊS: 30 dias;
- ANO: 365 dias(não bissexto);
- DÉCADA: 10 anos;
- SÉCULO: 100 anos;
- MILÊNIO: 1000 anos.
Agora, se quisermos efetuar cálculos com datas, devemos ter em mente que:
- SEGUNDO: 1000 milésimos.
- MINUTO: 60 segundos.
- HORA: 60 segundos * 60 minutos.
- DIA: 60 segundos * 60 minutos * 24 horas.
- MÊS: 60 segundos * 60 minutos * 24 horas * 30 dias.
- ANO: 60 segundos * 60 minutos * 24 horas * 365 dias OU 60 segundos * 60 minutos * 24 horas * ((30 * 12) + 5).
- DÉCADA: 60 segundos * 60 minutos * 24 horas * 365 dias OU 60 segundos * 60 minutos * 24 horas * ((30 * 12) + 5) * 10.
- SÉCULO: 60 segundos * 60 minutos * 24 horas * 365 dias OU 60 segundos * 60 minutos * 24 horas * ((30 * 12) + 5) * 10 * 10.
- MILÊNIO: 60 segundos * 60 minutos * 24 horas * 365 dias OU 60 segundos * 60 minutos * 24 horas * ((30 * 12) + 5) * 10 * 10 * 10.
Para sabermos a data atual do servidor PHP, temos duas maneiras: a função
date() e a função
time().
A função date("STRING", $timestamp) permite expressar um calendário de várias maneiras.
Os parâmetros para STRING mais básicos são:
- d : Dia do mês (2 dígitos);
- D : Dia do mês abreviado em três letras: de Mon até Sun;
- m : Dia do mês (numero de 2 dígitos);
- M : Mês abreviado com três letras (três letras: Jan a Dec);
- y : Ano com 2 dígitos;
- Y : Ano com 4 dígitos;
- l : Dia da semana por extenso (Sunday até Saturday);
- h : Hora em formato de 12 horas;
- H : Hora em formato de 24 horas;
- i : Minutos em formato de 2 dígitos;
- s : Segundos em formato de 2 dígitos;
- A : AM ou PM.
Exemplo:
<?php
echo date("Y"); //IRÁ IMPRIMIR O ANO NO FORMATO 20+ANO
echo date("d"); //IRÁ IMPRIMIR O DIA (30 DIAS)
echo date("m"); //IRÁ IMPRIMIR O MÊS NO FORMATO NUMÉRICO 1-12
echo date("d/m/Y"); //IRÁ IMPRIMIR dia/mês/ano, ex: 20/12/2011
?>