A função strftime() é uma função embutida no PHP que formata a hora ou data local de acordo com as configurações de local, ou seja, formata a hora ou data local para a localização definida para ele em um lugar.

Sintaxe: 

strftime( $format, $timestamp ) 

Parâmetros: esta função aceita dois parâmetros mencionados acima e descritos abaixo:  

  • $format: este parâmetro define o formato da data e hora, é um parâmetro obrigatório obrigatório.
  • $timestamp: O parâmetro opcional timestamp é um timestamp Unix inteiro cujo padrão é a hora local atual se um timestamp não for fornecido. Em outras palavras, o padrão é o valor de tempo().

Valores de retorno: ele retorna uma string formatada para $format usando o $timestamp fornecido (se mencionado explicitamente, caso contrário, leva o tempo padrão). Nomes de mês e dia da semana e outras strings dependentes do idioma respeitam a localidade atual definida com setlocale() .

Exemplo:  

<?php
 
// This program prints the current day
setlocale(LC_TIME, "C");
echo strftime("%A");
?>

Saída: 

Thursday

Formato: a seguir estão os valores que podem ser adicionados a $format para uma saída desejada. 
 

  • Formatação de hora: 
FORMATODESCRIÇÃOEXEMPLO
% HA representação de dois dígitos da hora no formato de 24 horas é como o formato de cronometragem de trem.00 a 23
% kHora no formato de 24 horas, com um espaço antes de um dígito0 a 23
%EURepresentação de dois dígitos da hora no formato de 12 horas01 a 12
%euRepresentação no formato de 12 horas, com um espaço precedendo um dígito.1,2,3,., 12
% MRepresentação de dois dígitos do minuto00 a 59
% pMAIÚSCULAS 'AM' ou 'PM' com base na hora fornecida, 11h59 depois será antes da manhã.AM para 00:31, PM para 22:23
% Pminúsculo 'am' ou 'pm' com base no horário informado, 23h59 depois da manhã antes da manhã.am para 00:31, pm para 22:23
% rO mesmo que “% I:% M:% S% p”14:22:22 para 14:22:22
% RIgual a “% H:% M”00h44 para 0h44, 17h45 para 17:45
% SÉ uma representação de dois dígitos em segundos.00 a 59
% TO mesmo que “% H:% M:% S”20:24:37 para 20:24:37
% XEle representa a representação de tempo preferencial sem a data, com base no local.04:44:16 ou 16:44:16
% zA diferença de fuso horário. Não implementado conforme descrito no Windows. Veja abaixo para mais informações.0500 para o horário do leste dos EUA
% ZRepresenta o fuso horário reduzindo em 2 ou três caracteres.EST para o horário do leste
  • Formatação dos carimbos de data e hora: 
FORMATODESCRIÇÃOEXEMPLO
% cData e hora preferidas com base na localidade.Terça-feira, 5 de janeiro, 00:55:25 de 2009 para 5 de janeiro de 2009 às 12:55:25
% DIgual a “% m /% d /% y”01/05/09 para 5 de janeiro de 2009
% FO mesmo que “% Y-% m-% d” usado nos registros de dados do banco de dados.05/01/2009 para 5 de janeiro de 2009
% sO carimbo de data / hora Unix Epoch Time é o mesmo que a função time() .1525376494 para 27 de fevereiro de 2020 às 16:50
% xRepresentação de data preferida sem a hora com base na localidade.01/05/09 para 5 de janeiro de 2009
  • Formatação do dia: 
FORMATODESCRIÇÃOEXEMPLO
%umaReduziu a representação textual do nome do dia.Sol, Seg, ...
%UMAÉ a representação textual do nome do dia completo.Domingo segunda-feira,..
% dEle representa o dia em dois dígitos, mesmo que o dia um represente como 01.01 a 31.
% eEle representa o dia em dígitos únicos, mas o dia dez do mês está presente como 10.1 a 31.
% jEle representa o ano em dígitos triplos, mesmo que o primeiro dia represente como 001.001 a 366.
%vocêRepresentação numérica ISO-8601 do dia da semana.1 para segunda a 7 para domingo.
%CÉ a representação numérica da contagem do dia da semana a partir de 0.0 para domingo a 6 para sábado.
  • Formatação da semana: 
FORMATODESCRIÇÃOEXEMPLO
%VOCÊNúmero da semana em determinado ano, começando no primeiro domingo como a primeira semana13 há a 13ª semana inteira do ano,
% VISO-8601: 1988 número da semana do ano determinado, começando com a primeira semana do ano com pelo menos 4 dias da semana, com segunda-feira sendo o início da semana01 a 53 onde 53 corresponde a uma semana sobreposta.
%CÉ a representação numérica da semana do ano, começando na primeira segunda-feira como a primeira semana, como% U.46, 46ª semana do ano, começando com uma segunda-feira.
  • Formatação do mês: 
FORMATODESCRIÇÃOEXEMPLO
% bEle reduziu a representação textual do nome do mês com base no local.Janeiro, fevereiro, ...
% BÉ a representação textual do nome completo do mês com base no local.Janeiro fevereiro, ..
% hEle reduziu a representação textual do nome do mês com base no local (um alias de% b).Janeiro, fevereiro, ..
% mEle representa o dia em dois dígitos, mesmo que o mês um represente como 01.01 para janeiro, 02 para fevereiro e assim por diante.
  • Formatação de ano: 
FORMATODESCRIÇÃOEXEMPLO
% CRepresenta o século em dígitos duplos (ano dividido por 100, truncado para um número inteiro).19 para o século 20
% gRepresenta o ano em dois dígitos pelos padrões ISO-8601: 1988 (consulte% V)09 para a semana de 6 de janeiro de 2009
% GÉ a versão completa de quatro dígitos de% g.2008 para a semana de 3 de janeiro de 2009
% yÉ a representação de dois dígitos do ano.09 para 2009, 79 para 1979
% YRepresentação de quatro dígitos para o ano2038
  • Formatação diversa: 
     
FORMATODESCRIÇÃO
% nÉ um caractere de nova linha (“\ n”)
% tÉ um caractere de tabulação (“\ t”)
%%É um caractere literal de porcentagem (“%”)

Os exemplos abaixo ilustram a aplicação de strftime() em php: 

Exemplo 1: Um programa simples para exibir a data e a hora fornecidas a ele.  

<?php
 
// Displays the date
echo strftime("%d, %B, %Y", strtotime("01/03/2004"));
 
// Displays the time
echo strftime("   %I:%M  %p", strtotime("21:34"));
?>

Saída: 

03, January, 2004 09:34 PM

Exemplo 2: Este exemplo exibe a hora em uma região específica (uma função adicional, setlocale() é empregada para isso. Para setlocale() funcionar, as localidades devem ser suportadas por seu servidor.) 

<?php
 
// Setting locale to german
setlocale(LC_ALL, "de");
echo strftime("The current german time is %r");
 
// Setting locale to english
setlocale(LC_ALL, "en");
echo strftime(" and the current english time is %r");
?>

Saída: 

The current german time is 22:14:20 and the current english time is 10:14:20 PM

Referência: https://www.php.net/manual/en/function.strftime.php