CTIME(3) Manual del Programador de Linux CTIME(3) NOMBRE asctime, ctime, gmtime, localtime, mktime - transforman fechas y horas binarias a ASCII SINOPSIS #include <time.h> char *asctime(const struct tm *timeptr); char *ctime(const time_t *timep); struct tm *gmtime(const time_t *timep); struct tm *localtime(const time_t *timep); time_t mktime(struct tm *timeptr); extern char *tzname[2]; long int timezone; extern int daylight; DESCRIPCION La funciones ctime(), gmtime() y localtime() toman todas un argumento de tipo time_t que representa la hora calendario. Al ser interpretado como un valor de hora absoluto, este representa el número de segundos transcurridos desde 00:00:00 de Enero 1, 1970, Coordinated Universal Time (UTC). Las funciones asctime() y mktime() toman un argumento representando la hora descompuesta, que es una representación binaria separada en año, mes, día, etc. La hora descompuesta es guardada en una estructura tm que es definida en <time.h> como sigue: struct tm { int tm_sec; /* seconds */ int tm_min; /* minutes */ int tm_hour; /* hours */ int tm_mday; /* day of the month */ int tm_mon; /* month */ int tm_year; /* year */ int tm_wday; /* day of the week */ int tm_yday; /* day in the year */ int tm_isdst; /* daylight saving time */ }; 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 saltar segundos (leap seconds) tm_min El número de segundos, en el rango 0 a 59. tm_hour El número de horas pasada la medianoche, en el rango 0 a 23. tm_mday El día del mes, en el rango de 1 a 31. tm_mon El número de mes desde Enero, en el rango 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 0 a 6. tm_yday El número de dias desde Enero 1, en el rango 0 a 365. tm_isdst Una bandera que indica si la hora de resguardo a la luz de día esta en efecto en la hora descripta. El valor es positivo si el resguardo está en efecto, cero si no lo está, y negativo si la información no está disponible. La función ctime() convierte la hora calendario timep en una cadena de la forma "Wed Jun 30 21:49:08 1993\n" Las abreviaciones para los dias de la semana son `Sun', `Mon', `Tue', `Wed', `Thu', `Fri', y `Sat'. Las abraviaciones para los meses son `Jan', `Feb', `Mar', `Apr', `May', `Jun', `Jul', `Aug', `Sep', `Oct', `Nov', y `Dec'. El valor retornado apunta a una cadena alojada estaticamente que puede ser sobreescrita por subsecuentes llamadas a cualquiera de las funciones de fecha u hora. Las funciones también asignan la variable externa tzname con la información acerca de la zona horaria corriente. La función gmtime() convierte la hora calendario timep en una respresentación descompuesta de la hora, expresada en Coordinated Universal Time (UTC). La función localtime() convierte la hora calendario timep en una representación descompuesta, expresada relativa a la zona horaria especificada por el usuario. La función asigna la variable externa tzname con información acerca de la zona horaria corriente, timezone con la diferencia entre Coordinated Universal Time (UTC) y la hora local estandar en segundos, y daylight a un valor distinto de cero si las reglas del estandar US de hora de resguardo a la luz del día se aplican. La función asctime() convierte la descomposición de la hora timeptr en una cadena con el mismo formato que ctime(). El valor retornado apunta a una cadena alojada estaticamente que puede ser sobreescrita por subsecuentes llamadas a cualquiera de las funciones de fecha u hora. La función mktime() convierte una descomposición de una estructura horaria a una representación de hora calendaria. La función ignora los contenidos especifícos en los miembros de la estructura tm_wday y tm_yday y los recalcula desde otra información en la descomposición de la estructura horaria. Llamando a mktime() también asigna la variable externa tzname con información acerca de la corriente zona horaria. Si la descomposición horaria no puede ser representada como hora calendaria, mktime() retorna un valor de (time_t)(-1) y no altera los miembros tm_wday y tm_yday de la estructura horaria descompuesta. CONFORME A SVID 3, POSIX, BSD 4.3, ISO 9899 VER TAMBIEN date(1), gettimeofday(2), time(2), tzset(3), difftime(3), strftime(3) BSD Enero 9, 1995 CTIME(3)