quinta-feira, 23 de setembro de 2010

Data e Hora em PHP

Mais que trabalhar com Data e Hora em PHP, este post ajuda a explicar um conceito que normalmente não é claro para os iniciantes em Desenvolvimento Web, que é o fato de a Linguagem PHP rodar no lado do Servidor.

A questão é que para trabalhar com Data e Hora em PHP utilizamos a função date, e essa data/hora vem do Servidor Web e não da máquina do internauta que esta acessando a aplicação. Isso quer dizer que mesmo se a data/hora do Sistema Operacional usuário estiverem erradas, ele irá visualizar a Data/Hora corretamente no site pois, como já foi dito, esses dados vem do Servidor (caso a data/hora do servidor estejam corretas).

Você também pode exibir a Data/Hora em um site utilizando uma linguagem que roda do lado cliente (navegador), como JavaScript por exemplo. No entanto, neste caso, se a data/hora do Sistema Operacional estiverem incorretas, as informações também serão exibida erradamente no site.

Exibindo Data e Hora com PHP

Conforme foi dito anteriormente, vamos usar a função date para exibir a Data e a Hora com PHP. Essa função recebe um parâmetros com o Tipo de Dados String que representa a formatação da Data/Hora.

Observe o código abaixo:
<?php
$dataAtual = date("d/m/Y");
echo $dataAtual;
?>
O executar o Script acima imprime na tela 23/09/2010 (dia em que o post foi escrito).

Repare que, na linha 2, utilizei a função date para atribuir à variável $dataAtual a data de hoje. Perceba também que passei a String d/m/Y como parâmetro na função date, esses caracteres representam a formatação da data já que d = dia, m = mês e Y = ano.

Se quiser adicionar a Hora, o código fica assim:
<?php
$dataHora = date("d/m/Y h:i:s");
echo $dataHora;
?>
Testando aqui, recebi o resultado: 23/09/2010 10:08:40.

Repare na segunda linha que após o Y (que representa o ano), eu dei um espaço e adicionei h:i:s pois: h = hora, i = minuto e s = segundo.

Veja uma lista resumida de formatações aceitas pela função date:
Caracter Descrição De Até
Dia
j Dia do mês sem preenchimento de zero 1 31
d Dia do mês com preenchimento de zero 01 31
Semana
w Representação numérica do dia da semana 0 (domingo) 6 (sábado)
L Dia da semana por extenso Sunday Saturday
Mês
n Representação numérica do mês sem preenchimento de zero 1 12
m Representação numérica do mês com preenchimento de zero 01 12
F Mês por extenso January December
Ano
Y Ano com quatro dígitos
y Ano com dois dígitos
Hora
g Hora sem preenchimento de zero 1 12
h Hora com preenchimento de zero 01 12
G Hora sem preenchimento de zero 0 23
H Hora com preenchimento de zero 00 23
Minuto
i Minuto com preenchimento de zero 00 59
Segundo
s Segundo com preenchimento de zero 00 59
Confira a tabela completa em: http://php.net/manual/pt_BR/function.date.php

Leia mais:

6 comentários:

  1. muito bom!! ajudou bastante.

    ResponderExcluir
  2. Regular, aprenda a trabalhar com datas em php eh bem mais q isso, soh foi mostrado o basico aki, agora oq interessa q eh fazer calculos com datas, vencimentos e tal, ficou devendo. dar print da hora do servidor nao eh trabalhar com datas.

    ResponderExcluir
  3. Marcio,

    O Objetivo do Blog é mostrar recursos básicos das linguagens e explicar recursos mais avançados com o tempo.

    Didaticamente, esse é o correto e é a linha que adotei para publicar os Posts do Blog.

    Abraço!

    ResponderExcluir
  4. Muito bom.

    Me ajudou em algo que precisava aqui.

    Obrigado.

    ResponderExcluir
  5. Cara, mto bom...me ajudou bastante num trabalho da facul hehe

    ResponderExcluir
  6. ?php date_default_timezone_set('Brazil/East'); $data = date('H:i:s'); echo $data; ?>

    ResponderExcluir

O que você achou do post? Faça um comentário.

Todos os direitos reservados.

Todos os direitos reservados.