| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 125
 126
 127
 128
 129
 130
 131
 132
 133
 134
 135
 136
 137
 138
 139
 140
 141
 142
 143
 144
 145
 146
 147
 148
 149
 150
 151
 152
 153
 154
 155
 156
 157
 158
 159
 160
 161
 162
 163
 164
 165
 166
 167
 168
 169
 170
 171
 172
 173
 174
 175
 176
 177
 178
 179
 180
 181
 182
 183
 184
 185
 186
 187
 188
 189
 190
 191
 192
 193
 194
 195
 196
 197
 198
 199
 200
 201
 202
 203
 204
 205
 206
 207
 208
 209
 210
 211
 212
 213
 214
 215
 216
 217
 218
 219
 220
 221
 222
 223
 224
 225
 226
 227
 228
 229
 230
 231
 232
 233
 234
 235
 236
 237
 238
 239
 240
 241
 242
 243
 244
 245
 246
 247
 248
 249
 250
 
 | .\" 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 maro de 1999" "GNU" "Manual do Programador Linux"
.SH NOME
strftime \- formata data e hora
.SH SINOPSE
.nf
.B #include <time.h>
.sp
.BI "size_t strftime(char *" s ", size_t " max ", const char *" format ,
.BI "				const struct tm *" tm );
.fi
.SH DESCRIO
A funo \fBstrftime()\fP formata a hora quebrada \fItm\fP
de acordo com a especificao de formato \fIformat\fP e coloca o
resultado na matriz de caracteres \fIs\fP de tamanho \fImax\fP.
.PP
Caracteres ordinrios colocados na string de formato so copiados para \fIs\fP
sem converso. Especificadores de converso so introduzidos por um caractere '%'
, e so substitudos 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 ms abreviado, de acordo com o 'locale' corrente.
.TP
.B %B
O ms completo, de acordo com o 'locale' corrente.
.TP
.B %c
A representao de data e hora preferida para o 'locale' corrente.
.TP
.B %C
O nmero de sculo (ano/100), com tipo inteiro de 2 dgitos. (SU)
.TP
.B %d
O dia do ms, com tipo numrico 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 pases, %d/%m/%y  
de um tanto comum. Isto significa que no contexto internacional
este formato  ambguo e no deve ser usado.) (SU)
.TP
.B %e
Como %d, o dia do ms em formato numrico decimal, mas um zero inicial
 substitudo por um espao. (SU)
.TP
.B %E
Modificador: usa formato alternativo, veja abaixo. (SU)
.TP
.B %G
O ano ISO 8601, com sculo no formato numrico decimal.
O ano de 4 dgitos correspondente ao nmero da semana ISO (veja %V).
Este tem o mesmo formato e valor que %y, exceto se o nmero 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 sculo, isto , com um ano de 2 dgitos (00-99). (TZ)
.TP
.B %h
Equivalente a %b. (SU)
.TP
.B %H
A hora como um nmero deciaml, usando um relgio de 24 horas (faixa de 00 a 23).
.TP
.B %I
A hora como um nmero decimal, usando um relgio de 12 horas (faixa de 01 a 12).
.TP
.B %j
O dia do ano como um nmero decimal (faixa de 001 a 366).
.TP
.B %k
A hora (relgio de 24 horas) como um nmero decimal (faixa de 0 a 23);
dgitos isolados so precedidos por um espao em branco. (Veja tambm %H.) (TZ)
.TP
.B %l
A hora (relgio de 12 horas) como um nmero decimal (faixa de 1 a 12);
dgitos isolados so precedidos por um espao em branco. (Veja tambm %I.) (TZ)
.TP
.B %m
O ms como um nmero decimal (faixa de 01 a 12).
.TP
.B %M
O minuto como um nmero 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 minsculas: 'am' ou 'pm' ou uma string
correspeondente para o 'locale' corrente. (GNU)
.TP
.B %r
A hora na notao a.m. ou p.m..
No 'locale' POSIX, isto  equivalente a '%I:%M:%S %p'. (SU)
.TP
.B %R
A hora da notao de 24 horas (%H:%M). (SU)
Para uma verso incluindo os segundos, veja %T abaixo.
.TP
.B %s
O nmero de segundos desde 1970-01-01 00:00:00 UTC. (TZ)
.TP
.B %S
Os segundos como um nmero decimal (faixa de 00 a 61).
.TP
.B %t
Um caractere de tabulao. (SU)
.TP
.B %T
A hora na notao 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 tambm %w. (SU)
.TP
.B %U
O nmero da semana no ano corrente, como um nmero decimal,
na faixa de 00 a 53, comeando com o primeiro domingo sendo o primeiro
dia da semana 01. Veja tambm %V e %W.
.TP
.B %V
O nmero da semana ISO 8601:1988 no ano corrente, como um nmero 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 incio da semana.
Veja tambm %U e %W. (SU)
.TP
.B %w
O dia da semana como um decimal, na faixa de 0 a 6, domingo sendo 0.
Veja tambm %u.
.TP
.B %W
O nmero da semana do ano corrente como um nmero decimal, na faixa de 00
a 53, comeando com o primeiro domingo sendo o primeiro dia da semana 01.
.TP
.B %x
A representao preferida de data para o 'locale' corrente, sem a hora.
.TP
.B %X
A representao de hora preferida para o 'locale' corrente, sem a data.
.TP
.B %y
O ano como um nmero decimal, sem o sculo (faixa de 00 a 99).
.TP
.B %Y
O ano como um nmero decimal, incluindo o sculo.
.TP
.B %z
O fuso horrio como compensao 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 abreviao de hora.
.TP
.B %+
A data e a hora no formato date(1). (TZ)
.TP
.B %%
Um caractere literal '%'.
.PP
Alguns especificadores de converso podem ser modificados ao
preced-los pelos modificadores E ou O para indicar que um formato
alternativo deve ser usado.
Se o formato ou especificao alternativo no existe para o 'locale'
corrente, o comportamento ser como se fosse usada a especificao
de converso no-modificada. (SU)
A Especificao 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 smbolos numricos
alternativos (quer dizer, numerais romanos), e o efeito do modificador
E  usar uma representao dependente de 'locale' alternativa.
.PP
A estrutura de hora quebrada\fItm\fP  definida em \fI<time.h>\fP.
Veja tambm
.BR ctime (3).
.SH "VALOR DE RETORNO"
A funo \fBstrftime()\fP retorna o nmero de caracteres colocados na
matriz \fIs\fP, no incluindo o caractere terminal NUL,  
provided the string, including the terminating NUL, fits.
Caso contrrio, ele retorna 0, e o contedo da matriz  indefinido.
( assim pelo menos desde a libc 4.4.4; verses 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 no indica necessariamente um erro; por 
exemplo, em muitos 'locales' %p produz uma string vazia.
.SH AMBIENTE
As variveis de ambiente TZ e LC_TIME so usadas.
.SH "CONFORME"
ANSI C, SVID 3, ISO 9899.
H incluses estritas entre o conjunto de converses dadas em C ANSI
(no marcadas), aquelas dadas na Especificao Exclusiva do Unix (marcadas
por SU), aquelas dadas no pacote de fusos horrios de Olson (marcadas por TZ),
e aquelas dadas em glibc (marcadas por GNU), exceto que %+ no  suportado
na glibc2. Por outro lado, a glibc2 tem vrias outras extenses.
POSIX.1 s se refere ao C ANSI; POSIX.2 descreve sob
.BR date (1)
vrias extenses que poderiam se aplicar ao
.B strftime
tambm.
.SH "VEJA TAMBM"
.BR date "(1), " time "(2), " ctime "(3), " setlocale "(3), " sprintf (3)
.SH TRADUO PARA A LNGUA PORTUGUESA
\&\fR\&\f(CWRUBENS DE JESUS NOGUEIRA <darkseid99@usa.net> (traduo)\fR
\&\fR\&\f(CWXXXXXX XX XXXXX XXXXXXXX <xxxxxxxxxx@xxx.xxx> (reviso)\fR
 |