English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial básico de linguagem C

Controle de fluxo de linguagem C

Função do C

Array do C

Ponteiro do C

String do C

Estrutura de linguagem C

Arquivo de linguagem C

Outros C

Manual de referência do C

Uso e exemplo da função strftime() da biblioteca C

Biblioteca padrão do C - <time.h>

função da biblioteca C size_t strftime(char *str, size_t maxsize, const char *format, const struct tm *timeptr) com base no format definido nas regras de formatação timeptr O tempo representado str

Declaração

A seguir está a declaração da função strftime().

size_t strftime(char *str, size_t maxsize, const char *format, const struct tm *timeptr)

Parâmetro

  • str -- Este é o ponteiro para o array de destino, usado para copiar a string C gerada.
  • maxsize -- Este é o número máximo de caracteres copiados para a str.
  • format -- Esta é uma string C, que contém qualquer combinação de caracteres normais e sinalizadores de formatação. Esses sinalizadores são substituídos pela função por valores correspondentes ao tempo especificado em tm. Os sinalizadores de formatação são:
SinalizadorSubstituído porExemplo
%aNome abreviado do dia da semana Dom
%ANome completo do dia da semana Sunday
Domingo%b Nome abreviado do mês
Mar%B Nome completo do mês
Março%c Formato de data e hora 19 02:56:02 2012
Sun Aug%d1-31Ano, os dois últimos dígitos (0019
O dia do mês (024 %H-23Ano, os dois últimos dígitos (0014
Hora no formato de hora (0012 %I1-12Ano, os dois últimos dígitos (0005
Hora no formato de hora (0%j1-366Ano, os dois últimos dígitos (00231
%mO dia do ano (001-12Ano, os dois últimos dígitos (0008
Número decimal do mês (0%M-59Ano, os dois últimos dígitos (0055
Minuto (00%pNome AM ou PM
PM%S-61Ano, os dois últimos dígitos (0002
Segundo (00%U-53Ano, os dois últimos dígitos (0033
A semana do ano, com o primeiro domingo como o primeiro dia da primeira semana (00%w-6Ano, os dois últimos dígitos (004
Número decimal do dia da semana, domingo como 0 (0%W-53Ano, os dois últimos dígitos (0034
A semana do ano, com o primeiro domingo como o primeiro dia da primeira semana (00%x08/19/12
Formato de data%X02:5Formato de tempo6
0:0%y-99Ano, os dois últimos dígitos (0001
)%Y2012
Ano%ZO nome ou abreviação da zona horária
CDTUm símbolo %%%
  • timeptr -- Este é um ponteiro para a estrutura tm, que contém um tempo calendário decomposto nos seguintes componentes:

struct tm {
   int tm_sec;         /* Segundo, variando de 0 a 59                */
   int tm_min;         /* Minuto, variando de 0 a 59                */
   int tm_hour;        /* Hora, variando de 0 a 23                */
   int tm_mday;        /* O dia do mês, variando de 1 até 31                    */
   int tm_mon;         /* Mês, variando de 0 a 11                */
   int tm_year;        /* Desde 19Anos desde 00                */
   int tm_wday;        /* O dia da semana, variando de 0 a 6                */
   int tm_yday;        /* O dia do ano, variando de 0 a 365                    */
   int tm_isdst;       /* Horário de Verão                        */    
};

Retorno

Se a string C gerada for menor que size caracteres (inclusive o caractere de terminação de string), retorna o número total de caracteres copiados para str (não incluindo o caractere de terminação de string), caso contrário, retorna zero.

Exemplo Online

A seguir, um exemplo demonstra o uso da função strftime().

#include <stdio.h>
#include <time.h>
int main ()
{
   time_t rawtime;
   struct tm *info;
   char buffer[80];
   time( &rawtime );
   info = localtime( &rawtime );
   strftime(buffer, 80, "%Y-%m-%d %H:%M:%S", info);
   printf("Data e hora formatada : |%s|\n", buffer );
   return(0);
}

Vamos compilar e executar o programa acima, o que produzirá o seguinte resultado:

Data e hora formatada : |2018-09-19 08:59:07|

Biblioteca padrão do C - <time.h>