Provided by: manpages-es-dev_4.13-4_all bug

NOMBRE

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

SINOPSIS

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

       char *strptime(const char *s, const char *format, struct tm *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.

       La estructura de tiempo descompuesto tm se define en <time.h> como sigue:

           struct tm {
               int tm_sec;    /* Seconds (0-60) */
               int tm_min;    /* Minutes (0-59) */
               int tm_hour;   /* Hours (0-23) */
               int tm_mday;   /* Day of the month (1-31) */
               int tm_mon;    /* Month (0-11) */
               int tm_year;   /* Year - 1900 */
               int tm_wday;   /* Day of the week (0-6, Sunday = 0) */
               int tm_yday;   /* Day in the year (0-365, 1 Jan = 0) */
               int tm_isdst;  /* Daylight saving time */
           };

       For more details on the tm structure, see ctime(3).

       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 │
       └────────────┴────────────────────┴────────────────────┘

CONFORME A

       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)

COLOFÓN

       Esta página es parte de la versión 5.10 del proyecto Linux man-pages. Puede encontrar una descripción del
       proyecto,  información  sobre  cómo  informar  errores  y  la  última   versión   de   esta   página   en
       https://www.kernel.org/doc/man-pages/.

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  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.

GNU                                             1 Noviembre 2020                                     STRPTIME(3)