Método format da classe DateInterval

O método format da classe DateInterval converte um intervalo de tempo em uma representação de string de acordo com o formato especificado. Ele aceita como parâmetro uma string de formato contendo caracteres especiais e retorna a string formatada.

Sintaxe

phppublic DateInterval::format(string $format): string

Caracteres especiais

Especificador Descrição Exemplo
%Y Número de anos (mínimo 2 dígitos) 01, 12
%y Número de anos (sem preenchimento com zeros) 1, 12
%M Número de meses (mínimo 2 dígitos) 01, 11
%m Número de meses (sem preenchimento com zeros) 1, 11
%D Número de dias (mínimo 2 dígitos) 01, 31
%d Número de dias (sem preenchimento com zeros) 1, 31
%H Número de horas (mínimo 2 dígitos) 01, 23
%h Número de horas (sem preenchimento com zeros) 1, 23
%I Número de minutos (mínimo 2 dígitos) 01, 59
%i Número de minutos (sem preenchimento com zeros) 1, 59
%S Número de segundos (mínimo 2 dígitos) 01, 59
%s Número de segundos (sem preenchimento com zeros) 1, 59
%R Sinal do intervalo (+ ou -) +, -
%r Sinal do intervalo com indicação explícita (- se negativo) , -
%% Símbolo de percentagem %

Exemplo

Formatando um intervalo em dias e horas:

php<?php
  $interval = new DateInterval('P2DT5H');
  echo $interval->format('%d days, %h hours');
?>

Resultado da execução do código:

php'2 days, 5 hours'

Exemplo

Formatando um intervalo em representação completa:

php<?php
  $interval = new DateInterval('P1Y3M5DT7H10M');
  echo $interval->format('%y years %m months %d days %h hours %i minutes');
?>

Resultado da execução do código:

php'1 years 3 months 5 days 7 hours 10 minutes'

Exemplo

Formatando um intervalo com zeros à esquerda:

php<?php
  $interval = new DateInterval('PT5H3M');
  echo $interval->format('%H:%I');
?>

Resultado da execução do código:

php'05:03'

Veja também