Provided by:
manpages-pt-dev_20040726-4_all 
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,C~AO
A funcao strftime() formata a hora quebrada tm de acordo com a
especificacao de formato format e coloca o resultado na matriz de
caracteres s de tamanho max.
Caracteres ordinarios colocados na string de formato sao copiados para
s sem conversao. Especificadores de conversao sao introduzidos por um
caractere '%' , e sao substituidos 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 mes abreviado, de acordo com o 'locale' corrente.
%B O mes completo, de acordo com o 'locale' corrente.
%c A representacao de data e hora preferida para o 'locale'
corrente.
%C O numero de seculo (ano/100), com tipo inteiro de 2 digitos.
(SU)
%d O dia do mes, com tipo numerico decimal (faixa de 01 a 31).
%D Equivalente a %m/%d/%y. (Yecch - somente para norte-americanos.
Norte-americanos devem notar que, em outros paises, %d/%m/%y e
de um tanto comum. Isto significa que no contexto internacional
este formato e ambiguo e nao deve ser usado.) (SU)
%e Como %d, o dia do mes em formato numerico decimal, mas um zero
inicial e substituido por um espaco. (SU)
%E Modificador: usa formato alternativo, veja abaixo. (SU)
%G O ano ISO 8601, com seculo no formato numerico decimal. O ano
de 4 digitos correspondente ao numero da semana ISO (veja %V).
Este tem o mesmo formato e valor que %y, exceto se o numero da
semana ISO pertence ao ano anterior ou posterior, neste caso o
ano e usado no lugar. (TZ)
%g Como %G, mas sem o seculo, isto e, com um ano de 2 digitos
(00-99). (TZ)
%h Equivalente a %b. (SU)
%H A hora como um numero deciaml, usando um relogio de 24 horas
(faixa de 00 a 23).
%I A hora como um numero decimal, usando um relogio de 12 horas
(faixa de 01 a 12).
%j O dia do ano como um numero decimal (faixa de 001 a 366).
%k A hora (relogio de 24 horas) como um numero decimal (faixa de 0
a 23); digitos isolados sao precedidos por um espaco em branco.
(Veja tambem %H.) (TZ)
%l A hora (relogio de 12 horas) como um numero decimal (faixa de 1
a 12); digitos isolados sao precedidos por um espaco em branco.
(Veja tambem %I.) (TZ)
%m O mes como um numero decimal (faixa de 01 a 12).
%M O minuto como um numero 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 e tratado
como 'pm', e a meia-noite como 'am'.
%P Como %p, mas em letras minusculas: 'am' ou 'pm' ou uma string
correspeondente para o 'locale' corrente. (GNU)
%r A hora na notacao a.m. ou p.m.. No 'locale' POSIX, isto e
equivalente a '%I:%M:%S %p'. (SU)
%R A hora da notacao de 24 horas (%H:%M). (SU) Para uma versao
incluindo os segundos, veja %T abaixo.
%s O numero de segundos desde 1970-01-01 00:00:00 UTC. (TZ)
%S Os segundos como um numero decimal (faixa de 00 a 61).
%t Um caractere de tabulacao. (SU)
%T A hora na notacao de 24 horas (%H:%M:%S). (SU)
%u O dia da semana como um decimal, na faixa de 1 a 7, segunda-
feira e 1. Veja tambem %w. (SU)
%U O numero da semana no ano corrente, como um numero decimal, na
faixa de 00 a 53, comecando com o primeiro domingo sendo o
primeiro dia da semana 01. Veja tambem %V e %W.
%V O numero da semana ISO 8601:1988 no ano corrente, como um numero
decimal, na faixa de 01 a 53, onde a semana 1 e a primeira
semana que tem pelo menos 4 dias no ano corrente, e com um
domingo no inicio da semana. Veja tambem %U e %W. (SU)
%w O dia da semana como um decimal, na faixa de 0 a 6, domingo
sendo 0. Veja tambem %u.
%W O numero da semana do ano corrente como um numero decimal, na
faixa de 00 a 53, comecando com o primeiro domingo sendo o
primeiro dia da semana 01.
%x A representacao preferida de data para o 'locale' corrente, sem
a hora.
%X A representacao de hora preferida para o 'locale' corrente, sem
a data.
%y O ano como um numero decimal, sem o seculo (faixa de 00 a 99).
%Y O ano como um numero decimal, incluindo o seculo.
%z O fuso horario como compensacao 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 abreviacao de hora.
%+ A data e a hora no formato date(1). (TZ)
%% Um caractere literal '%'.
Alguns especificadores de conversao podem ser modificados ao
precede-los pelos modificadores E ou O para indicar que um formato
alternativo deve ser usado. Se o formato ou especificacao alternativo
nao existe para o 'locale' corrente, o comportamento sera como se fosse
usada a especificacao de conversao nao-modificada. (SU) A Especificacao
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 e usar simbolos numericos alternativos (quer dizer,
numerais romanos), e o efeito do modificador E e usar uma representacao
dependente de 'locale' alternativa.
A estrutura de hora quebradatm e definida em <time.h>. Veja tambem
ctime(3).
VALOR DE RETORNO
A funcao strftime() retorna o numero de caracteres colocados na matriz
s, nao incluindo o caractere terminal NUL, provided the string,
including the terminating NUL, fits. Caso contrario, ele retorna 0, e
o conteudo da matriz e indefinido. (E assim pelo menos desde a libc
4.4.4; versoes 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 nao indica necessariamente um erro; por
exemplo, em muitos 'locales' %p produz uma string vazia.
AMBIENTE
As variaveis de ambiente TZ e LC_TIME sao usadas.
CONFORME
ANSI C, SVID 3, ISO 9899. Ha inclusoes estritas entre o conjunto de
conversoes dadas em C ANSI (nao marcadas), aquelas dadas na
Especificacao Exclusiva do Unix (marcadas por SU), aquelas dadas no
pacote de fusos horarios de Olson (marcadas por TZ), e aquelas dadas em
glibc (marcadas por GNU), exceto que %+ nao e suportado na glibc2. Por
outro lado, a glibc2 tem varias outras extensoes. POSIX.1 so se refere
ao C ANSI; POSIX.2 descreve sob date(1) varias extensoes que poderiam
se aplicar ao strftime tambem.
VEJA TAMB'EM
date(1), time(2), ctime(3), setlocale(3), sprintf(3)
TRADU,C~AO PARA A L'INGUA PORTUGUESA
RUBENS DE JESUS NOGUEIRA <darkseid99@usa.net> (traduAEo) XXXXXX XX
XXXXX XXXXXXXX <xxxxxxxxxx@xxx.xxx> (revisAEo)
GNU 29 de marco de 1999 STRFTIME(3)