Provided by: manpages-es-dev_4.17.0-2_all bug

NOMBRE

       strptime - convierte una cadena de caracteres que representa un tiempo a una estructura tm

BIBLIOTECA

       Biblioteca Estándar C (libc, -lc)

SINOPSIS

       #define _XOPEN_SOURCE       /* See feature_test_macros(7) */
       #include <time.h>

       char *strptime(const char *restrict s, const char *restrict format,
                      struct tm *restrict tm);

DESCRIPCIÓN

       The  strptime()  function is the converse of strftime(3); it converts the character string
       pointed to by s to values which are stored in the "broken-down time" structure pointed  to
       by tm, using the format specified by format.

       The broken-down time structure tm is described in tm(3type).

       The  format  argument  is  a  character string that consists of field descriptors and text
       characters, reminiscent of scanf(3).  Each field descriptor  consists  of  a  %  character
       followed  by  another  character  that specifies the replacement for the field descriptor.
       All other characters in the format string must have a  matching  character  in  the  input
       string,  except  for  whitespace,  which matches zero or more whitespace characters in the
       input string.  There should be whitespace or other alphanumeric characters between any two
       field descriptors.

       La función strptime() procesa la cadena de entrada de izquierda a derecha. Cada uno de los
       tres posibles elementos de entrada (espacio en blanco, literal o formato)  se  tratan  uno
       detrás  de  otro.  Si  no se puede hacer coincidir la entrada con la cadena de formato, la
       función se detiene.  El resto de las cadenas de formato y de entrada no se procesa.

       The supported input field descriptors are listed below.  In case a text  string  (such  as
       the  name  of a day of the week or a month name)  is to be matched, the comparison is case
       insensitive.  In case a number is to be matched,  leading  zeros  are  permitted  but  not
       required.

       %%     El carácter %.

       %a o %A
              The  name  of  the  day of the week according to the current locale, in abbreviated
              form or the full name.

       %b o %B o %h
              El nombre del mes según la localización actual, en forma abreviada o completa.

       %c     La representación de fecha y hora para la localización actual.

       %C     El número de siglo (0–99).

       %d o %e
              El día del mes (1–31).

       %D     Equivalent to %m/%d/%y.  (This is  the  American  style  date,  very  confusing  to
              non-Americans,  especially  since  %d/%m/%y is widely used in Europe.  The ISO 8601
              standard format is %Y-%m-%d.)

       %H     La hora (0–23).

       %I     La hora en formato de 12 horas (1–12).

       %j     El número de día del año (1–366).

       %m     El número de mes (1–12).

       %M     El minuto (0–59).

       %n     Cadena arbitraria de espacios en blanco.

       %p     El equivalente de AM o PM en la localización. (Nota: puede no existir.)

       %r     The 12-hour clock time (using  the  locale's  AM  or  PM).   In  the  POSIX  locale
              equivalent  to  %I:%M:%S  %p.   If  t_fmt_ampm  is empty in the LC_TIME part of the
              current locale, then the behavior is undefined.

       %R     Equivalente a %H:%M.

       %S     El  segundo  (0–60;  60  puede  darse  para  segundos  de  salto  (leap   seconds);
              anteriormente también se permitía 61).

       %t     Cadena arbitraria de espacios en blanco.

       %T     Equivalente a %H:%M:%S.

       %U     El  número  de  semana  tomando el domingo como primer día de la semana (0–53).  El
              primer domingo de enero es el primer día de la semana 1.

       %w     The ordinal number of the day of the week (0–6), with Sunday = 0.

       %W     El número de semana tomando el lunes como primer  día  de  la  semana  (0–53).   El
              primer lunes de enero es el primer día de la semana 1.

       %x     La fecha, usando el formato de fecha de la localización.

       %X     La hora, usando el formato de hora de la localización.

       %y     El  año  dentro  del  siglo  (0–99).  Cuando no se especifica el siglo, los valores
              comprendidos en el rango 69–99 se refieren al siglo 20 (1969–1999)  y  los  valores
              comprendidos en el rango 00–68 se refieren al siglo 21 (2000–2068).

       %Y     El año, incluyendo el siglo (por ejemplo, 1991).

       Algunos  descriptores de campo pueden ser modificados por los caracteres modificadores E u
       O para indicar el uso de  un  formato  o  especificación  alternativo.  Si  el  formato  o
       especificación  alternativo  no existe en la localización actual, se utiliza el descriptor
       de campo sin modificar.

       El modificador E especifica que la cadena de entrada puede contener versiones alternativas
       de la representación de fecha y hora dependientes de la localización:

       %Ec    La representación alternativa de fecha y hora de la localización.

       %EC    El   nombre  del  año  base  (período)  en  la  representación  alternativa  de  la
              localización.

       %Ex    La representación alternativa de fecha de la localización.

       %EX    La representación alternativa de hora de la localización.

       %Ey    El desplazamiento desde %EC (sólo año)  en  la  representación  alternativa  de  la
              localización.

       %EY    La representación alternativa completa para el año.

       El  modificador O especifica que la entrada numérica puede estar en un formato alternativo
       dependiente de la localización:

       %Od o %Oe
              El día del mes usando los símbolos numéricos alternativos de la  localización;  los
              ceros del comienzo están permitidos pero no son obligatorios.

       %OH    La  hora  (foramto  24  horas)  usando  los  símbolos  numéricos alternativos de la
              localización.

       %OI    La hora (foramto 12  horas)  usando  los  símbolos  numéricos  alternativos  de  la
              localización.

       %Om    El mes usando los símbolos numéricos alternativos de la localización.

       %OM    Los minutos usando los símbolos numéricos alternativos de la localización.

       %OS    Los segundos usando los símbolos numéricos alternativos de la localización.

       %OU    El  número  de  semana  del  año  (tomando el domingo como primer día de la semana)
              usando los símbolos numéricos alternativos de la localización.

       %Ow    The ordinal  number  of  the  day  of  the  week  (Sunday=0),  using  the  locale's
              alternative numeric symbols.

       %OW    El  número de semana del año (tomando el lunes como primer día de la semana) usando
              los símbolos numéricos alternativos de la localización.

       %Oy    El año (desplazamiento desde %C) usando los símbolos numéricos alternativos  de  la
              localización.

VALOR DEVUELTO

       The return value of the function is a pointer to the first character not processed in this
       function call.  In case the input string contains more characters  than  required  by  the
       format  string, the return value points right after the last consumed input character.  In
       case the whole input string is consumed, the return value points to the null byte  at  the
       end  of  the string.  If strptime()  fails to match all of the format string and therefore
       an error occurred, the function returns NULL.

ATRIBUTOS

       Para obtener una explicación de los términos usados en esta sección, véase attributes(7).

       ┌───────────────────────────────────────────────┬────────────────────┬────────────────────┐
       │InterfazAtributoValor              │
       ├───────────────────────────────────────────────┼────────────────────┼────────────────────┤
       │strptime()                                     │ Seguridad del hilo │ MT-Safe env locale │
       └───────────────────────────────────────────────┴────────────────────┴────────────────────┘

ESTÁNDARES

       POSIX.1-2001, POSIX.1-2008, SUSv2.

NOTAS

       In principle, this function does not initialize tm but stores only the  values  specified.
       This  means  that  tm should be initialized before the call.  Details differ a bit between
       different UNIX systems.  The glibc implementation does not touch those  fields  which  are
       not  explicitly  specified, except that it recomputes the tm_wday and tm_yday field if any
       of the year, month, or day elements changed.

       The 'y' (year in century) specification is taken to specify a year in the range  1950–2049
       by glibc 2.0.  It is taken to be a year in 1969–2068 since glibc 2.1.

   Glibc notes
       Por  razones de simetría, glibc trata de dar soporte en strptime() a los mismos caracteres
       de formato que  para  strftime(3).  (En  la  mayoría  de  casos  se  analizan  los  campos
       correspondientes, pero no se modifica ningún campo de la estructura tm.)  Esto conduce a

       %F     Equivalente a %Y-%m-%d, el formato de fecha de ISO 8601.

       %g     El año correspondiente al número de semana ISO, pero sin el siglo (0–99).

       %G     El año correspondiente al número de semana ISO. (Por ejemplo, 1991.)

       %u     El día de la semana como un número decimal (1–7, donde lunes = 1).

       %V     El  número  de  semana  ISO  8601:1988 como un número decimal (1–53).  Si la semana
              (comenzando en lunes) que contiene el 1 de enero tiene cuatro  o  más  días  en  el
              nuevo  año,  se  considera la semana 1. En otro caso, se toma como la última semana
              del año anterior y la siguiente semana pasa a ser la semana 1.

       %z     Una especificación estándar RFC-822/ISO 8601 de huso horario.

       %Z     El nombre del huso horario.

       Similarly, because of GNU extensions to strftime(3), %k is accepted as a synonym  for  %H,
       and  %l  should  be  accepted as a synonym for %I, and %P is accepted as a synonym for %p.
       Finally

       %s     The number of seconds since the  Epoch,  1970-01-01  00:00:00  +0000  (UTC).   Leap
              seconds are not counted unless leap second support is available.

       The glibc implementation does not require whitespace between two field descriptors.

EJEMPLOS

       El siguiente ejemplo demuestra el uso de strptime() y strftime(3).

       #define _XOPEN_SOURCE
       #include <stdio.h>
       #include <stdlib.h>
       #include <string.h>
       #include <time.h>

       int
       main(void)
       {
           struct tm tm;
           char buf[255];

           memset(&tm, 0, sizeof(tm));
           strptime("2001-11-12 18:31:01", "%Y-%m-%d %H:%M:%S", &tm);
           strftime(buf, sizeof(buf), "%d %b %Y %H:%M", &tm);
           puts(buf);
           exit(EXIT_SUCCESS);
       }

VÉASE TAMBIÉN

       time(2), getdate(3), scanf(3), setlocale(3), strftime(3)

TRADUCCIÓN

       La  traducción  al  español  de  esta  página del manual fue creada por Gerardo Aburruzaga
       García <gerardo.aburruzaga@uca.es>, Juan  Piernas  <piernas@ditec.um.es>  y  Miguel  Pérez
       Ibars <mpi79470@alu.um.es>

       Esta  traducción  es  documentación  libre;  lea  la  GNU General Public License Version 3
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ o posterior con respecto a las condiciones  de
       copyright.  No existe NINGUNA RESPONSABILIDAD.

       Si  encuentra  algún  error  en  la  traducción de esta página del manual, envíe un correo
       electrónico a ⟨debian-l10n-spanish@lists.debian.org⟩.