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