Datas
Trabalhar com datas e horas também é muitas vezes necessário para incorporar algum recurso nos sites e tratar dados de formulário ou banco de dados. Por exemplo, recuperar a data atual, formatar datas, pegar o dia da semana. Por isso, vamos conhecer as principais funções PHP para manipular datas.
Função | Descrição |
mktime() | 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. |
time() | Retorna o timestamp Unix atual. Sintaxe: time() |
date() | Formata data e hora de acordo com a string format dada Sintaxe: date("opções formatação", data) |
checkdate() | Converte uma string para maiúsculas. |
Vejamos na figura C.12 o uso das funções mktime() e time().
Na linha 11 foi criada uma data passando por parâmetro hora, minutos, segundos, mês, dia e ano.
Na linha 15 foi criada a variável $hoje com a data e hora atual.
As linhas 13 e 17 mostram as variáveis criadas. Faça o teste no seu navegador! Você verá que é mostrado um valor para as variáveis e não uma data/hora, como na figura C.13.
Como podemos ver, a data e hora mostradas não estão em um formato conhecido por nós. Precisaremos utilizar o função date() para formatar data e hora. A tabela abaixo apresenta as opções de formatação para a função date().
Opção | Descrição |
a | Antes/Depois de meio-dia em minúsculo (am ou pm) |
A | Antes/Depois de meio-dia em maiúsculo (AM ou PM) |
d | Dia do mês, 2 dígitos com preenchimento de zero (01 até 31) |
D | Uma representação textual de um dia, três letras (Mon até Sun) |
w | Representação numérica do dia da semana 0 (para domingo) até 6 (para sábado) |
m | Representação numérica de um mês (01 a 12) |
M | Uma representação textual curta de um mês, três letras (Jan a Dec) |
t | Número de dias de um dado mês (28 até 31) |
L | Se um ano é bissexto (1 se está em ano bissexto, 0 caso contrário) |
Y | Uma representação de ano completa com quatro dígitos |
y | Uma representação do ano com dois dígitos |
g | Formato 12-horas de uma hora sem preenchimento de zero (1 até 12) |
G | Formato 24-horas de uma hora sem preenchimento de zero (0 até 23) |
h | Formato 12-horas de uma hora com zero preenchendo à esquerda (01 até 12) |
H | Formato 24-horas de uma hora com zero preenchendo à esquerda (00 até 23) |
i | Minutos com zero preenchendo à esquerda (00 até 59) |
s | Segundos, com zero preenchendo à esquerda (00 até 59) |
Vamos ver como fica nosso código PHP utilizando agora a função date(). Veja na figura C.14. Nas linhas 12 e 16 foram criadas novas variáveis com as datas formatadas. A figura C.15 mostra o resultado do código no navegador.
|
||||
|
||||
|
|
||||
|
||||
|
Outra função interessante para tratamento de datas é a checkdate, útil para validar uma data. Imagine que o usuário informa uma data em um formulário, antes de trabalhar com esta data é importante validá-la. Veja o código da figura C.16. No mesmo arquivo, foi colocado o form e o código que verifica a data (quando o form é submetido chama o próprio arquivo, pois não tem nada em action). Algumas observações sobre o código:
- Na linha 14 é verificado se o form foi submetido. Neste caso, faz a verificação da data;
- Como a função checkdate espera três parâmetros, foi necessário quebrar a data em dia, mês e ano (linha 18);
- Na linha 24 é usada a função checkdate, passando os valores da data que estão no vetor $vdt.
A figura C.17 mostra o resultado do código acima no navegador, sendo uma execução com data válida e outro com data inválida.