Provided by: manpages-es_1.55-10_all bug

NOMBRE

       getdate() - convierte una cadena a una estructura tm

SINOPSIS

       #define _XOPEN_SOURCE
       #define _XOPEN_SOURCE_EXTENDED
       #include <time.h>

       struct tm *getdate (const char *string);

       extern int getdate_err;

       #define _GNU_SOURCE
       #include <time.h>

       int getdate_r (const char *string, struct tm *res);

DESCRIPCIÓN

       La  función  getdate() convierte la cadena apuntada por string en una estructura tm que es
       devuelta por la función.  Esta estructura tm puede encontrarse en almacenamiento estático,
       por lo que puede ser sobreescrita por una llamada posterior.

       En contraste con strptime(3), (que tiene un argumento format ), getdate() usa los formatos
       situados en el fichero del cual se especifica la ruta completa en la variable  de  entorno
       DATEMSK.   La  primera  línea del fichero que concuerde con la cadena de entrada pasada se
       utiliza para la conversión.

       La  correspondencia  se  hace  sin  tener  en  cuenta  las   mayúsculas.    Los   espacios
       innecesarios, ya sea en el patrón o en la cadena que debe ser convertida, se ignoran.

       Las  especificaciones  de  conversión  que  puede  contener  un  patrón  son  aquellas que
       proporciona strptime(3).  Se acepta una especificación de conversión adicional:

       %Z     Nombre de la zona horaria.

       Cuando se proporciona %Z, el valor que se devuelve se inicializa con el  valor  de  tiempo
       descompuesto  correspondiente  a la hora actual en la zona horaria dada.  En otro caso, se
       inicializa con el valor de tiempo descompuesto correspondiente a la hora local actual.

       Cuando sólo se especifica el día de la semana, el día que se toma es el  primero  tras  el
       día actual (que podría ser el propio día actual).

       Cuando  sólo  se especifica el mes (y no el año), el mes que se toma es el primero tras el
       mes actual (que podría ser el propio mes actual).  Si no se especifica el día, se toma  el
       primer día del mes.

       Cuando  no  se  dan ni hora, ni minutos, ni segundos, se toman la hora, minutos y segundos
       actuales.

       Si no se especifica la fecha, pero sabemos la hora, entonces la hora se toma para que  sea
       la primera tras la hora actual (que podría ser la propia hora actual).

VALOR DEVUELTO

       Cuando  tiene  éxito, esta función devuelve un puntero a una estructura tm.  En otro caso,
       devuelve NULL y modifica  la  variable  global  getdate_err.   Los  cambios  a  errno  son
       indefinidos. Se definen los siguientes valores para getdate_err:

       1   La variable de entorno DATEMSK es null o no está definida.

       2   No se ha podido abrir el fichero de plantillas para lectura.

       3   Fallo al obtener información del estado del fichero.

       4   El fichero de plantillas no es un fichero regular.

       5   Se ha producido un error al leer el fichero de plantillas.

       6   Fallo en la reserva de memoria (no hay suficiente memoria disponible).

       7   No hay ninguna línea en el fichero que concuerde con la entrada.

       8   Especificación inválida de entrada.

OBSERVACIONES

       Puesto  que  getdate()  no es reentrante debido al uso de getdate_err y al buffer estático
       que contiene el valor devuelto, glibc proporciona  una  variante  segura  para  hilos.  La
       funcionalidad  es la misma. El resultado es devuelto en el buffer apuntado por res y en el
       caso de un error el valor devuelto es distinto de cero con  los  mismos  valores  que  los
       descritos arriba para getdate_err.

       La   especificación   POSIX  1003.1-2001  para  strptime()  contiene  especificaciones  de
       conversión que usan el modificador %E o %O, mientras que tales especificaciones no se  dan
       para  getdate().  La implementación de glibc implementa getdate() usando strptime() por lo
       que automáticamente las mismas conversiones son soportadas por ambas.

       La implementación de glibc no soporta la especificación de conversión %Z.

ENTORNO

       DATEMSK
              Fichero que contiene patrones de formato.

       TZ, LC_TIME
              Variables usadas por strptime().

CONFORME A

       ISO 9899, POSIX 1003.1-2001

VÉASE TAMBIÉN

       localtime(3), strftime(3), strptime(3), time(3)

                                        26 diciembre 2001                              GETDATE(3)