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

NOMBRE

       asctime, ctime, gmtime, localtime, mktime - transforman fechas y horas binarias a ASCII

SINOPSIS

       #include <time.h>

       char *asctime(const struct tm *tm);
       char *asctime_r(const struct tm *tm, char *buf);

       char *ctime(const time_t *timep);
       char *ctime_r(const time_t *timep, char *buf);

       struct tm *gmtime(const time_t *timep);
       struct tm *gmtime_r(const time_t *timep, struct tm *result);

       struct tm *localtime(const time_t *timep);
       struct tm *localtime_r(const time_t *timep, struct tm *result);

       time_t mktime(struct tm *tm);

DESCRIPCIÓN

       La  funciones  ctime(),  gmtime() y localtime() toman todas un argumento de tipo time_t que representa el
       tiempo de calendario.  Al ser interpretado como un valor de tiempo  absoluto,  representa  el  número  de
       segundos  transcurridos  desde  las  00:00:00  del  1  de  Enero de 1970, en Tiempo Universal Coordinado,
       Coordinated Universal Time (UTC).

       Las funciones asctime() y mktime() toman un argumento que representa el tiempo descompuesto, que  es  una
       representación separada en año, mes, día, etc.

       El tiempo descompuesto se guarda en una estructura tm, que se define en <time.h> como sigue:

              struct tm {
                      int     tm_sec;         /* segundos */
                      int     tm_min;         /* minutos */
                      int     tm_hour;        /* horas */
                      int     tm_mday;        /* día del mes */
                      int     tm_mon;         /* mes */
                      int     tm_year;        /* año */
                      int     tm_wday;        /* día de la semana */
                      int     tm_yday;        /* día del año */
                      int     tm_isdst;       /* cambio horario verano/invierno */
              };

       Los miembros de la estructura tm son:

       tm_sec El  número  de  segundos,  normalmente en el rango de 0 a 59, pero puede llegar a 61 para permitir
              segundos bisiestos.

       tm_min El número de minutos, en el rango de 0 a 59.

       tm_hour
              El número de horas pasada la medianoche, en el rango de 0 a 23.

       tm_mday
              El día del mes, en el rango de 1 a 31.

       tm_mon El número de meses desde Enero, en el rango de 0 a 11.

       tm_year
              El número de años desde 1900.

       tm_wday
              El número de dias desde el Domingo, en el rango  de 0 a 6.

       tm_yday
              El número de dias desde el 1 de Enero en el rango de 0 a 365.

       tm_isdst
              Un indicador que dice si existe cambio horario entre verano e invierno para el tiempo descrito. El
              valor es positivo si existe este cambio, cero si no lo hay, y negativo si la información  no  está
              disponible.

       La  llamada  ctime(t)  es equivalente a asctime(localtime(t)).  Convierte el tiempo de calendario timep a
       una cadena de la forma

              "Wed Jun 30 21:49:08 1993\n"

       Las abreviaturas para los dias de la semana son `Sun', `Mon', `Tue', `Wed', `Thu', `Fri', y  `Sat'.   Las
       abreviaturas  para  los  meses  son `Jan', `Feb', `Mar', `Apr', `May', `Jun', `Jul', `Aug', `Sep', `Oct',
       `Nov', y `Dec'. El valor devuelto apunta a una cadena reservada estáticamente que puede ser  sobreescrita
       por  posteriores  llamadas  a  cualquiera de las funciones de fecha u hora. La función también pone en la
       variable externa tzname (véase tzset(3)) información acerca del  huso  horario.   La  versión  reentrante
       ctime_r()  hace  lo  mismo,  pero almacena la cadena en un buffer suministrado por el usuario de longitud
       mínima 26. No necesita modificar tzname.

       La función gmtime() convierte el tiempo de calendario timep a una representación descompuesta del tiempo,
       expresado en Tiempo Universal Coordinado (UTC). Puede devolver NULL cuando el año no cabe en una variable
       entera.  El valor devuelto apunta a una estructura reservada estáticamente que puede ser sobreescrita por
       llamadas posteriores a cualquiera de las funciones de fecha y tiempo.   La  función  gmtime_r()  hace  lo
       mismo, pero almacena los datos en una estructura suministrada por el usuario.

       La  función  localtime()  convierte  el  tiempo  de  calendario  timep a una representación descompuesta,
       expresada relativa a la zona horaria especificada por el  usuario.  La  función  actúa  como  si  hubiera
       llamado  a  tzset(3) y pone en la variable externa tzname información acerca de la zona horaria en curso,
       en timezone la diferencia entre el Tiempo Universal Coordinado (UTC) y la hora local normal en  segundos,
       y  en  daylight  un valor distinto de cero si las reglas del cambio horario de verano/invierno se aplican
       durante alguna parte del año.  El valor devuelto apunta a  una  estructura  reservada  estáticamente  que
       puede  ser  sobreescrita  por  llamadas  posteriores a cualquiera de las funciones de fecha y tiempo.  La
       función localtime_r() hace lo mismo, pero almacena los  datos  en  una  estructura  suministrada  por  el
       usuario.

       La  función  asctime() convierte el tiempo descompuesto tm a una cadena con el mismo formato que ctime().
       El valor devuelto apunta a una cadena reservada estáticamente que puede ser sobreescrita por  posteriores
       llamadas  a  cualquiera  de  las  funciones  de fecha u hora.  La función asctime_r() hace lo mismo, pero
       almacena la cadena en un buffer suministrado por el usuario de longitud mínima 26.

       La función mktime() convierte un tiempo descompuesto  a  una  representación  tiempo  de  calendario.  La
       función  hace caso omiso de los contenidos específícos en los miembros de la estructura tm_wday y tm_yday
       y los recalcula a partir de otra información existente en la estructura del tiempo descompuesto.  Si  los
       miembros  de  la  estructura están fuera de sus intervalos permitidos, serán normalizados (del tal manera
       que, por ejemplo, el 40 de octubre se cambiará al 9 de noviembre).  Al llamar a mktime() también se  pone
       un  valor  en  la  variable  externa  tzname  con  información  acerca  de  la zona horaria. Si el tiempo
       descompuesto especificado no puede representarse como tiempo de calendario (segundos desde  la  `Época'),
       mktime() devuelve el valor  (time_t)(-1) y no altera los miembros tm_wday ni tm_yday de la estructura del
       tiempo descompuesto.

VALOR DEVUELTO

       Cada  una  de  estas  funciones devuelve el valor descrito, o NULL (-1 en el caso de mktime()) en caso de
       error.

OBSERVACIONES

       Las cuatro funciones acstime(), ctime(), gmtime() y localtime() devuelven un puntero a datos estáticos  y
       por  tanto  no  son  seguras  para trabajar con hilos.  Las versiones hilo-seguro acstime_r(), ctime_r(),
       gmtime_r() y localtime_r() están especificadas por SUSv2, y están disponibles desde la versión  5.2.5  de
       libc.

       La versión glibc de la estructura tm contiene campos adicionales

              long tm_gmtoff;           /* Segundos al este de UTC */
              const char *tm_tm_zone;   /* Abreviación del huso horario */

       definidos  cuando  se pone _BSD_SOURCE antes de incluir <time.h>.  Esta es una extensión BSD, presente en
       4.3BSD-Reno.

CONFORME A

       SVID 3, POSIX, BSD 4.3, ISO 9899

VÉASE TAMBIÉN

       date(1),  gettimeofday(2),  newctime(3),   time(2),   utime(2),   clock(3),   difftime(3),   strftime(3),
       strptime(3), tzset(3)

                                                13 diciembre 2001                                       CTIME(3)