Provided by: manpages-pt-dev_20040726-2_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)