| 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
 
 | .\" Copyright 1993 Mitchum DSouza <m.dsouza@mrc-apu.cam.ac.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.
.\"
.\" Modified, jmv@lucifer.dorms.spbu.ru, 1999-11-08
.\"
.\" Translated into Spanish Wed Mar 11 14:10:24 CET 1998 by
.\"	Gerardo Aburruzaga Garca <gerardo.aburruzaga@uca.es>
.\" Translation revised Wed Apr 19 2000 by Juan Piernas <piernas@ditec.um.es>
.\"
.TH STRPTIME 3 "11 marzo 1998"  "GNU" "Manual del Programador de Linux"
.SH NOMBRE
strptime \- convierte una cadena de caracteres que representa un
tiempo a una estructura tm
.SH SINOPSIS
.B #include <time.h>
.sp
.BI "char *strptime(const char *" s ", const char *" format ,
.BI "struct tm *" tm );
.SH DESCRIPCIN
.LP
.IX  "strptime function"  ""  "\fLstrptime()\fP \(em date and time conversion"
.B strptime(\|)
es la funcin complementaria de
.B strftime(\|)
y convierte la cadena de caracteres a la que apunte
.I s
a un valor de tiempo, que se guarda en la estructura
.B tm
a la que apunte
.IR tm ,
utilizando el formato especificado por
.IR format .
.I format
es una cadena de caracteres que consiste en descriptores de campos y
caracteres de texto, una reminiscencia de
.BR scanf (3).
Cada descriptor de campo consiste en un carcter de porcentaje
.B %
seguido por otro carcter que especifica el reemplazo para el
descriptor de campo.
Todos los otros caracteres de la cadena
.I format
deben tener un carcter concordante en la cadena de entrada. Excepciones son
los espacios en blanco de la cadena de formato que pueden concordar con cero
o ms espacios en blanco de la cadena de entrada.
.PP
La funcin \fBstrptime()\fP procesa la cadena de entrada de derecha a
izquierda. Cada uno de los tres posibles elementos de entrada (espacio en
blanco, literal o formato) se tratan uno detrs de otro. Si no se puede
hacer coincidir la entrada con la cadena de formato, la funcin se detiene.
El resto de las cadenas de formato y de entrada no se procesa.
.PP
Se admiten los siguientes descriptores de campo:
.RS
.TP
.B %%
lo mismo que
.B %
.TP
.B %a
.PD 0
.TP
.B %A
da de la semana, empleando los nombres de los das de la semana
correspondientes a la localizacin; puede especificarse el nombre
abreviado o el completo
.PD
.TP
.B %b
.PD 0
.TP
.B %B
.TP
.B %h
mes, empleando los nombres de meses correspondientes a la
localizacin; puede especificarse el nombre abreviado o el completo.
.PD
.TP
.B %c
fecha y hora como %x %X
.TP
.B %C
fecha y hora, en la representacin local de la fecha y hora en formato largo
.TP
.B %d
.PD 0
.TP
.B %e
da del mes (1--31; se permiten pero no se requieren ceros iniciales)
.PD
.TP
.B %D
fecha como %m/%d/%y
.TP
.B %H
.PD 0
.TP
.B %k
hora (0--23;  se permiten pero no se requieren ceros iniciales)
.PD
.TP
.B %I
.PD 0
.TP
.B %l
hora (0--12;  se permiten pero no se requieren ceros iniciales)
.PD
.TP
.B %j
da juliano (nmero del da del ao, de 001 a 366)
.TP
.B %m
nmero del mes (1--12; se permiten pero no se requieren ceros iniciales)
.TP
.B %M
minuto (0-59;  se permiten pero no se requieren ceros iniciales)
.TP
.B %p
el equivalente local de
.SM AM
o de
.SM PM
.TP
.B %r
hora como %I:%M:%S %p
.TP
.B %R
hora como %H:%M
.TP
.B %S
segundos (0--61; se permiten pero no se requieren ceros iniciales. El
segundo extra es para aos bisiestos)
.TP
.B %T
hora como %H:%M:%S
.TP
.B %w
nmero de da de la semana (0--6) con el Domingo como primer da de la
semana
.TP
.B %x
fecha, empleando el formato local para la fecha
.TP
.B %X
hora, empleando el formato local
.TP
.B %y
ao dentro de la centuria (0--99; se permiten pero no se requieren
ceros iniciales. Desafortunadamente esto presume que estamos atascados
en el siglo XX puesto que se suma 1900 automticamente a este nmero
para el campo tm_year)
.TP
.B %Y
ao, incluyendo la centuria (por ejemplo, 1998)
.RE
.LP
No se distinguen maysculas de minsculas en la concordancia de
elementos como nombres de meses o das de la semana.
.LP
La estructura de tiempo descompuesto \fItm\fP se define en \fI<time.h>\fP
como sigue:
.sp
.RS
.nf
.ne 12
.ta 8n 16n 32n
struct tm
{
	int	tm_sec;			/* segundos */
	int	tm_min;			/* minutos */
	int	tm_hour;		/* horas */
	int	tm_mday;		/* da del mes */
	int	tm_mon;			/* mes */
	int	tm_year;		/* ao */
	int	tm_wday;		/* da de la semana */
	int	tm_yday;		/* da del ao */
	int	tm_isdst;		/* cambio horario? */
};
.ta
.fi
.RE
.SH "VALOR DEVUELTO"
El valor devuelto por la funcin es un puntero al primer carcter no
procesado en esta llamada a la funcin. En el caso de que la cadena de
entrada contenga ms caracteres de los que necesita la cadena de formato,
el valor devuelto apunta justo despus del ltimo carcter de entrada
consumido. En el caso de que se consuma toda la cadena de entrada, el valor
devuelto apunta al byte NUL al final de la cadena. Si \fBstrptime()\fP no
puede hacer coincidir toda la cadena de formato y, por tanto, se ha
producido un error, la funcin devuelve \fBNULL\fP.
.SH "VASE TAMBIN"
.BR strftime "(3), " time "(2), " setlocale "(3), " scanf (3)
.SH OBSERVACIONES
.LP
La especificacin de la funcin en el estndar XPG es bastante vaga.
Omite algunos trozos importantes de informacin. Sobre todo, no
especifica qu ocurre con aquellos elementos de \fBtm\fP que no son
directamente inicializados por los diferentes formatos. Diversas
implementanciiones en sistemas Unix diferentes pueden variar en esto.
.PP
La implementacin de la libc de GNU no toca aquellos campos que no son
directamente inicializados. Excepciones son los elementos
.IR tm_wday
y
.IR tm_yday
que se recalculan si cualquiera de los elementos de ao, mes o fecha cambia.
.PP
Esta funcin slo est disponible en bibliotecas posteriores a la versin
4.6.5. Los ficheros de cabecera de las libreras libc4 y libc5 de Linux
definen el prototipo de forma incondicional. Los ficheros cabecera de glibc2
proporcionan un prototipo slo cuando se define _XOPEN_SOURCE o _GNU_SOURCE.
.PP
La funcin slo admite aquellas localizaciones especificadas en
.BR locale "(7)"
 |