.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. .\" .\" Permission is granted to copy and distribute modified versions of this .\" manual under the conditions for verbatim copying, provided that the .\" entire resulting derived work is distributed under the terms of a .\" permission notice identical to this one .\" .\" Since the Linux kernel and libraries are constantly changing, this .\" manual page may be incorrect or out-of-date. The author(s) assume no .\" responsibility for errors or omissions, or for damages resulting from .\" the use of the information contained herein. The author(s) may not .\" have taken the same level of care in the production of this manual, .\" which is licensed free of charge, as they might when working .\" professionally. .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. .\" .\" References consulted: .\" Linux libc source code .\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991) .\" 386BSD man pages .\" GNU texinfo documentation on glibc date/time functions. .\" Modified Sat Jul 24 18:03:44 1993 by Rik Faith (faith@cs.unc.edu) .\" Applied fix by Wolfgang Franke, aeb, 961011 .\" Corrected return value, aeb, 970307 .\" Added Single Unix Spec conversions and %z, aeb/esr, 990329. .\" .TH STRFTIME 3 "29 de março de 1999" "GNU" "Manual do Programador Linux" .SH NOME strftime \- formata data e hora .SH SINOPSE .nf .B #include .sp .BI "size_t strftime(char *" s ", size_t " max ", const char *" format , .BI " const struct tm *" tm ); .fi .SH DESCRIÇÃO A função \fBstrftime()\fP formata a hora quebrada \fItm\fP de acordo com a especificação de formato \fIformat\fP e coloca o resultado na matriz de caracteres \fIs\fP de tamanho \fImax\fP. .PP Caracteres ordinários colocados na string de formato são copiados para \fIs\fP sem conversão. Especificadores de conversão são introduzidos por um caractere '%' , e são substituídos em \fIs\fP da seguinte forma: .TP .B %a O dia da semana abreviado, de acordo com o 'locale' corrente. .TP .B %A O dia da semana completo, de acordo com o 'locale' corrente. .TP .B %b O mês abreviado, de acordo com o 'locale' corrente. .TP .B %B O mês completo, de acordo com o 'locale' corrente. .TP .B %c A representação de data e hora preferida para o 'locale' corrente. .TP .B %C O número de século (ano/100), com tipo inteiro de 2 dígitos. (SU) .TP .B %d O dia do mês, com tipo numérico decimal (faixa de 01 a 31). .TP .B %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) .TP .B %e Como %d, o dia do mês em formato numérico decimal, mas um zero inicial é substituído por um espaço. (SU) .TP .B %E Modificador: usa formato alternativo, veja abaixo. (SU) .TP .B %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) .TP .B %g Como %G, mas sem o século, isto é, com um ano de 2 dígitos (00-99). (TZ) .TP .B %h Equivalente a %b. (SU) .TP .B %H A hora como um número deciaml, usando um relógio de 24 horas (faixa de 00 a 23). .TP .B %I A hora como um número decimal, usando um relógio de 12 horas (faixa de 01 a 12). .TP .B %j O dia do ano como um número decimal (faixa de 001 a 366). .TP .B %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) .TP .B %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) .TP .B %m O mês como um número decimal (faixa de 01 a 12). .TP .B %M O minuto como um número decimal (faixa de 00 a 59). .TP .B %n Um caractere de nova linha. (SU) .TP .B %O Modificador: usa formato alternativo, veja abaixo. (SU) .TP .B %p 'AM' ou 'PM' de acordo com o valor de hora dado, ou a string correspondente para o 'locale' corrente. O meio-dia é tratado como 'pm', e a meia-noite como 'am'. .TP .B %P Como %p, mas em letras minúsculas: 'am' ou 'pm' ou uma string correspeondente para o 'locale' corrente. (GNU) .TP .B %r A hora na notação a.m. ou p.m.. No 'locale' POSIX, isto é equivalente a '%I:%M:%S %p'. (SU) .TP .B %R A hora da notação de 24 horas (%H:%M). (SU) Para uma versão incluindo os segundos, veja %T abaixo. .TP .B %s O número de segundos desde 1970-01-01 00:00:00 UTC. (TZ) .TP .B %S Os segundos como um número decimal (faixa de 00 a 61). .TP .B %t Um caractere de tabulação. (SU) .TP .B %T A hora na notação de 24 horas (%H:%M:%S). (SU) .TP .B %u O dia da semana como um decimal, na faixa de 1 a 7, segunda-feira é 1. Veja também %w. (SU) .TP .B %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. .TP .B %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) .TP .B %w O dia da semana como um decimal, na faixa de 0 a 6, domingo sendo 0. Veja também %u. .TP .B %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. .TP .B %x A representação preferida de data para o 'locale' corrente, sem a hora. .TP .B %X A representação de hora preferida para o 'locale' corrente, sem a data. .TP .B %y O ano como um número decimal, sem o século (faixa de 00 a 99). .TP .B %Y O ano como um número decimal, incluindo o século. .TP .B %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) .TP .B %Z O fuso, nome ou abreviação de hora. .TP .B %+ A data e a hora no formato date(1). (TZ) .TP .B %% Um caractere literal '%'. .PP 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. .PP A estrutura de hora quebrada\fItm\fP é definida em \fI\fP. Veja também .BR ctime (3). .SH "VALOR DE RETORNO" A função \fBstrftime()\fP retorna o número de caracteres colocados na matriz \fIs\fP, 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 \fImax\fP se a matriz fosse muito pequena.) .LP Note que o valor de retorno 0 não indica necessariamente um erro; por exemplo, em muitos 'locales' %p produz uma string vazia. .SH AMBIENTE As variáveis de ambiente TZ e LC_TIME são usadas. .SH "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 .BR date (1) várias extensões que poderiam se aplicar ao .B strftime também. .SH "VEJA TAMBÉM" .BR date "(1), " time "(2), " ctime "(3), " setlocale "(3), " sprintf (3) .SH TRADUÇÃO PARA A LÍNGUA PORTUGUESA \&\fR\&\f(CWRUBENS DE JESUS NOGUEIRA (tradu‡Æo)\fR \&\fR\&\f(CWXXXXXX XX XXXXX XXXXXXXX (revisÆo)\fR