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)