Função date

A função date exibe uma data no formato especificado. O primeiro parâmetro da função recebe o formato, e o segundo parâmetro opcional - o momento no tempo no formato timestamp. Se o segundo parâmetro não for especificado - será utilizado o momento atual, se for especificado - então o momento definido.

O formato é especificado por comandos de controle (letras inglesas), sendo que é possível inserir quaisquer separadores entre eles (hífens, dois pontos e assim por diante).

A função aceita os seguintes comandos (letras maiúsculas diferem das minúsculas, preste atenção):

Sintaxe

phpdate(string $format, ?int $timestamp = null): string

Exemplos de uso da date

php<?php
  // Todos os exemplos são mostrados para a data 01.06.2013 às 12.23.59, segunda-feira
  
  echo date('Y'); // exibirá '2013'
  echo date('y'); // exibirá '13'
  echo date('m'); // exibirá '06' - número do mês
  echo date('d'); // exibirá '01' - número do dia no mês
  echo date('j'); // exibirá '1'  - número do dia no mês (sem zero à frente)
  echo date('w'); // exibirá '1'  - segunda-feira
  echo date('H'); // exibirá '12' - horas
  echo date('i'); // exibirá '23' - minutos
  echo date('s'); // exibirá '59' - segundos
  
  echo date('d-m-Y'); // exibirá '01-06-2013'
  echo date('d.m.Y'); // exibirá '01.06.2013'
  echo date('H:i:s d.m.Y'); // exibirá '12:23:59 01.06.2013'
?>

Segundo parâmetro da função date

A função date tem um segundo parâmetro opcional, que recebe um momento no tempo no formato timestamp. Se este parâmetro for passado, a função date formatará não o momento atual, mas aquele que foi passado como segundo parâmetro. Este timestamp pode ser obtido, por exemplo, via mktime (mas não necessariamente):

php<?php
  echo date('d-m-Y', mktime(0, 0, 0, 12, 29, 13)); // exibirá '29-12-2013'
?>

Isso pode ser usado para descobrir o dia da semana de uma determinada data - basta passá-la como segundo parâmetro usando a função mktime, e como primeiro parâmetro colocar o caractere de controle 'w':

php<?php
  // Vamos descobrir que dia da semana foi 29-12-2013:
  echo date('w', mktime(0, 0, 0, 12, 29, 13)); // exibirá '0' - domingo
?>

Veja também

  • a função mktime,
    que retorna um momento no tempo no formato timestamp