Provided by: manpages-pt-dev_20040726-4_all bug

NOME

       strftime - formata data e hora

SINOPSE

       #include <time.h>

       size_t strftime(char *s, size_t max, const char *format,
                           const struct tm *tm);

DESCRIÇÃO

       A  função  strftime()  formata a hora quebrada tm de acordo com a especificação de formato
       format e coloca o resultado na matriz de caracteres s de tamanho max.

       Caracteres ordinários colocados na string de formato são copiados para  s  sem  conversão.
       Especificadores de conversão são introduzidos por um caractere '%' , e são substituídos em
       s da seguinte forma:

       %a     O dia da semana abreviado, de acordo com o 'locale' corrente.

       %A     O dia da semana completo, de acordo com o 'locale' corrente.

       %b     O mês abreviado, de acordo com o 'locale' corrente.

       %B     O mês completo, de acordo com o 'locale' corrente.

       %c     A representação de data e hora preferida para o 'locale' corrente.

       %C     O número de século (ano/100), com tipo inteiro de 2 dígitos. (SU)

       %d     O dia do mês, com tipo numérico decimal (faixa de 01 a 31).

       %D     Equivalente a %m/%d/%y. (Yecch - somente para  norte-americanos.   Norte-americanos
              devem notar que, em outros países, %d/%m/%y é de um tanto comum. Isto significa que
              no contexto internacional este formato é ambíguo e não deve ser usado.) (SU)

       %e     Como %d, o dia  do  mês  em  formato  numérico  decimal,  mas  um  zero  inicial  é
              substituído por um espaço. (SU)

       %E     Modificador: usa formato alternativo, veja abaixo. (SU)

       %G     O  ano  ISO  8601,  com  século  no  formato  numérico decimal.  O ano de 4 dígitos
              correspondente ao número da semana ISO (veja %V).  Este tem o mesmo formato e valor
              que  %y,  exceto  se  o número da semana ISO pertence ao ano anterior ou posterior,
              neste caso o ano é usado no lugar. (TZ)

       %g     Como %G, mas sem o século, isto é, com um ano de 2 dígitos (00-99). (TZ)

       %h     Equivalente a %b. (SU)

       %H     A hora como um número deciaml, usando um relógio de 24 horas (faixa de 00 a 23).

       %I     A hora como um número decimal, usando um relógio de 12 horas (faixa de 01 a 12).

       %j     O dia do ano como um número decimal (faixa de 001 a 366).

       %k     A hora (relógio de 24 horas) como um número decimal (faixa  de  0  a  23);  dígitos
              isolados são precedidos por um espaço em branco. (Veja também %H.) (TZ)

       %l     A  hora  (relógio  de  12  horas) como um número decimal (faixa de 1 a 12); dígitos
              isolados são precedidos por um espaço em branco. (Veja também %I.) (TZ)

       %m     O mês como um número decimal (faixa de 01 a 12).

       %M     O minuto como um número decimal (faixa de 00 a 59).

       %n     Um caractere de nova linha. (SU)

       %O     Modificador: usa formato alternativo, veja abaixo. (SU)

       %p     correspondente para o 'locale' corrente. O meio-dia é tratado como 'pm', e a  meia-
              noite como 'am'.

       %P     Como  %p, mas em letras minúsculas: 'am' ou 'pm' ou uma string correspeondente para
              o 'locale' corrente. (GNU)

       %r     A hora na notação a.m. ou p.m..  No 'locale' POSIX, isto é equivalente a  '%I:%M:%S
              %p'. (SU)

       %R     A  hora da notação de 24 horas (%H:%M). (SU) Para uma versão incluindo os segundos,
              veja %T abaixo.

       %s     O número de segundos desde 1970-01-01 00:00:00 UTC. (TZ)

       %S     Os segundos como um número decimal (faixa de 00 a 61).

       %t     Um caractere de tabulação. (SU)

       %T     A hora na notação de 24 horas (%H:%M:%S). (SU)

       %u     O dia da semana como um decimal, na faixa de 1 a 7, segunda-feira é 1.  Veja também
              %w. (SU)

       %U     O  número  da  semana no ano corrente, como um número decimal, na faixa de 00 a 53,
              começando com o primeiro domingo sendo o primeiro dia da semana 01. Veja também  %V
              e %W.

       %V     O  número da semana ISO 8601:1988 no ano corrente, como um número decimal, na faixa
              de 01 a 53, onde a semana 1 é a primeira semana que tem pelo menos 4  dias  no  ano
              corrente, e com um domingo no início da semana.  Veja também %U e %W. (SU)

       %w     O  dia  da semana como um decimal, na faixa de 0 a 6, domingo sendo 0.  Veja também
              %u.

       %W     O número da semana do ano corrente como um número decimal, na faixa  de  00  a  53,
              começando com o primeiro domingo sendo o primeiro dia da semana 01.

       %x     A representação preferida de data para o 'locale' corrente, sem a hora.

       %X     A representação de hora preferida para o 'locale' corrente, sem a data.

       %y     O ano como um número decimal, sem o século (faixa de 00 a 99).

       %Y     O ano como um número decimal, incluindo o século.

       %z     O  fuso  horário  como  compensação  de hora para GMT.  Requerido para emitir datas
              conforme a RFC822 (usando "%a, %d %b %Y %H:%M:%S %z"). (GNU)

       %Z     O fuso, nome ou abreviação de hora.

       %+     A data e a hora no formato date(1). (TZ)

       %%     Um caractere literal '%'.

       Alguns  especificadores  de  conversão  podem  ser  modificados   ao   precedê-los   pelos
       modificadores E ou O para indicar que um formato alternativo deve ser usado.  Se o formato
       ou especificação alternativo não existe para o 'locale'  corrente,  o  comportamento  será
       como  se  fosse  usada  a  especificação de conversão não-modificada. (SU) A Especificação
       Exclusiva do Unix menciona %Ec, %EC, %Ex, %EX, %Ry, %EY, %Od, %Oe,  %OH,  %OI,  %Om,  %OM,
       %OS,  %Ou,  %OU,  %OV,  %Ow,  %OW,  %Oy,  onde  o  efeito do modificador O é usar símbolos
       numéricos alternativos (quer dizer, numerais romanos), e o efeito do modificador E é  usar
       uma representação dependente de 'locale' alternativa.

       A estrutura de hora quebradatm é definida em <time.h>.  Veja também ctime(3).

VALOR DE RETORNO

       A  função strftime() retorna o número de caracteres colocados na matriz s, não incluindo o
       caractere terminal NUL, provided the string, including the terminating  NUL,  fits.   Caso
       contrário,  ele retorna 0, e o conteúdo da matriz é indefinido.  (É assim pelo menos desde
       a libc 4.4.4; versões muito antigas da libc, tal como a libc 4.4.1, retornariam max  se  a
       matriz fosse muito pequena.)

       Note  que  o valor de retorno 0 não indica necessariamente um erro; por exemplo, em muitos
       'locales' %p produz uma string vazia.

AMBIENTE

       As variáveis de ambiente TZ e LC_TIME são usadas.

CONFORME

       ANSI C, SVID 3, ISO 9899.  Há inclusões estritas entre o conjunto de conversões dadas em C
       ANSI  (não  marcadas), aquelas dadas na Especificação Exclusiva do Unix (marcadas por SU),
       aquelas dadas no pacote de fusos horários de Olson (marcadas por TZ), e aquelas  dadas  em
       glibc  (marcadas  por  GNU),  exceto  que  %+ não é suportado na glibc2. Por outro lado, a
       glibc2 tem várias outras extensões.  POSIX.1 só se refere ao C ANSI; POSIX.2 descreve  sob
       date(1) várias extensões que poderiam se aplicar ao strftime também.

VEJA TAMBÉM

       date(1), time(2), ctime(3), setlocale(3), sprintf(3)

TRADUÇÃO PARA A LÍNGUA PORTUGUESA

       RUBENS  DE  JESUS  NOGUEIRA  <darkseid99@usa.net>  (tradu‡Æo)  XXXXXX  XX  XXXXX  XXXXXXXX
       <xxxxxxxxxx@xxx.xxx> (revisÆo)