Provided by:
manpages-es_1.55-10_all 
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'ON
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 numero 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 representacion separada en ano, mes,
dia, 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; /* dia del mes */
int tm_mon; /* mes */
int tm_year; /* ano */
int tm_wday; /* dia de la semana */
int tm_yday; /* dia del ano */
int tm_isdst; /* cambio horario verano/invierno */
};
Los miembros de la estructura tm son:
tm_sec El numero de segundos, normalmente en el rango de 0 a 59, pero
puede llegar a 61 para permitir segundos bisiestos.
tm_min El numero de minutos, en el rango de 0 a 59.
tm_hour
El numero de horas pasada la medianoche, en el rango de 0 a 23.
tm_mday
El dia del mes, en el rango de 1 a 31.
tm_mon El numero de meses desde Enero, en el rango de 0 a 11.
tm_year
El numero de anos desde 1900.
tm_wday
El numero de dias desde el Domingo, en el rango de 0 a 6.
tm_yday
El numero 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 informacion no
esta 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
estaticamente que puede ser sobreescrita por posteriores llamadas a
cualquiera de las funciones de fecha u hora. La funcion tambien pone en
la variable externa tzname (vease tzset(3)) informacion acerca del huso
horario. La version reentrante ctime_r() hace lo mismo, pero almacena
la cadena en un buffer suministrado por el usuario de longitud minima
26. No necesita modificar tzname.
La funcion gmtime() convierte el tiempo de calendario timep a una
representacion descompuesta del tiempo, expresado en Tiempo Universal
Coordinado (UTC). Puede devolver NULL cuando el ano no cabe en una
variable entera. El valor devuelto apunta a una estructura reservada
estaticamente que puede ser sobreescrita por llamadas posteriores a
cualquiera de las funciones de fecha y tiempo. La funcion gmtime_r()
hace lo mismo, pero almacena los datos en una estructura suministrada
por el usuario.
La funcion localtime() convierte el tiempo de calendario timep a una
representacion descompuesta, expresada relativa a la zona horaria
especificada por el usuario. La funcion actua como si hubiera llamado a
tzset(3) y pone en la variable externa tzname informacion 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 ano. El valor
devuelto apunta a una estructura reservada estaticamente que puede ser
sobreescrita por llamadas posteriores a cualquiera de las funciones de
fecha y tiempo. La funcion localtime_r() hace lo mismo, pero almacena
los datos en una estructura suministrada por el usuario.
La funcion asctime() convierte el tiempo descompuesto tm a una cadena
con el mismo formato que ctime(). El valor devuelto apunta a una
cadena reservada estaticamente que puede ser sobreescrita por
posteriores llamadas a cualquiera de las funciones de fecha u hora. La
funcion asctime_r() hace lo mismo, pero almacena la cadena en un buffer
suministrado por el usuario de longitud minima 26.
La funcion mktime() convierte un tiempo descompuesto a una
representacion tiempo de calendario. La funcion hace caso omiso de los
contenidos especificos en los miembros de la estructura tm_wday y
tm_yday y los recalcula a partir de otra informacion existente en la
estructura del tiempo descompuesto. Si los miembros de la estructura
estan fuera de sus intervalos permitidos, seran normalizados (del tal
manera que, por ejemplo, el 40 de octubre se cambiara al 9 de
noviembre). Al llamar a mktime() tambien se pone un valor en la
variable externa tzname con informacion acerca de la zona horaria. Si
el tiempo descompuesto especificado no puede representarse como tiempo
de calendario (segundos desde la `Epoca'), 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 estaticos y por tanto no son seguras para
trabajar con hilos. Las versiones hilo-seguro acstime_r(), ctime_r(),
gmtime_r() y localtime_r() estan especificadas por SUSv2, y estan
disponibles desde la version 5.2.5 de libc.
La version glibc de la estructura tm contiene campos adicionales
long tm_gmtoff; /* Segundos al este de UTC */
const char *tm_tm_zone; /* Abreviacion del huso horario */
definidos cuando se pone _BSD_SOURCE antes de incluir <time.h>. Esta
es una extension BSD, presente en 4.3BSD-Reno.
CONFORME A
SVID 3, POSIX, BSD 4.3, ISO 9899
V'EASE TAMBI'EN
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)